IPPacket Event
Fired whenever a packet is received.
Syntax
virtual int FireIPPacket(IPMonitorIPPacketEventParams *e);
typedef struct {
char* SourceAddress;
int SourcePort;
char* DestinationAddress;
int DestinationPort;
int IPVersion;
int TOS;
int Id;
int Flags;
int Offset;
int TTL;
int Checksum;
int IPProtocol;
char* Payload;
int lenPayload;
int reserved;
} IPMonitorIPPacketEventParams;
Remarks
When Active is True, the class will listen for network traffic. For each packet sent across the interface in LocalHost, the class will parse the packet and fire an IPPacket event with the header fields and payload. The parameters are defined as follows:
SourceAddress | The IP address of the originating host in IP dotted format. |
DestinationAddress | The IP address of the destination host in IP dotted format. |
IPVersion | The IP protocol version being used by this packet. |
TOS | The type of service being used by this packet. |
Id | The packet id used to identify and track packets. |
Flags | Flags relating to the status of the packet and desired responses. |
Offset | The fragment offset of this packet in relation to larger data. |
TTL | The time to live for this packet. |
IPProtocol | The IP protocol used in the payload. |
Payload | The data field of the IP packet. This field may contain extra IP headers, depending upon the IP protocol used to create it. |
TOS
Bit 0, 1, 2 | Precedence (see below) |
Bit 3 | Delay (0 = Normal, 1 = Low) |
Bit 4 | Throughput (0 = Normal, 1 = High) |
Bit 5 | Reliability (0 = Normal, 1 = High) |
Precedence
000 | Routine |
001 | Priority |
010 | Immediate |
011 | Flash |
100 | Flash Override |
101 | CRITIC/ECP |
110 | Internetwork Control |
111 | Network Control |
Flags
Bit 0 | Always zero |
Bit 1 | Don't Fragment (0 = May Fragment, 1 = Don't Fragment) |
Bit 2 | More Fragments (0 = Last Fragment, 1 = More Fragments) |
IPProtocol - for a full list, visit www.iana.org.
1 | ICMP |
2 | IGMP |
4 | IP |
6 | TCP |
17 | UDP |