on PDU engineDataPDU
{
dword srcAddr, dstAddr, srcPort, dstPort;
char srcAddrAsString[16], dstAddrAsString[16];
if (GetPDUsTPIPv4SrcAddr(this, srcAddr)==0
&& GetPDUsTPIPv4DstAddr(this, dstAddr)==0)
{
IpGetAddressAsString(srcAddr, srcAddrAsString, elcount(srcAddrAsString));
IpGetAddressAsString(dstAddr, dstAddrAsString, elcount(dstAddrAsString));
if(GetPDUsTPUDPSrcPort(this, srcPort)==0
&& GetPDUsTPUDPDstPort(this, dstPort)==0)
{
write("PDU received by UDP from %s:%u to %s:%u", srcAddrAsString, srcPort, dstAddrAsString, dstPort);
}
if (GetPDUsTPTCPSrcPort(this, srcPort)==0
&& GetPDUsTPTCPDstPort(this, dstPort)==0)
{
write("PDU received by TCP from %s:%u to %s:%u", srcAddrAsString, srcPort, dstAddrAsString, dstPort);
}
}
}