on_ip_packet Event
Fired whenever a packet is received.
Syntax
class IPMonitorIPPacketEventParams(object): @property def source_address() -> str: ... @property def source_port() -> int: ... @property def destination_address() -> str: ... @property def destination_port() -> int: ... @property def ip_version() -> int: ... @property def tos() -> int: ... @property def id() -> int: ... @property def flags() -> int: ... @property def offset() -> int: ... @property def ttl() -> int: ... @property def checksum() -> int: ... @property def ip_protocol() -> int: ... @property def payload() -> bytes: ... @property def timestamp() -> int: ... # In class IPMonitor: @property def on_ip_packet() -> Callable[[IPMonitorIPPacketEventParams], None]: ... @on_ip_packet.setter def on_ip_packet(event_hook: Callable[[IPMonitorIPPacketEventParams], None]) -> None: ...
Remarks
When active is True or parse_pcap_file is called, the class will listen for network traffic or parse the provided file, respectively. For each packet sent across the interface in local_host, the class will parse the packet and fire an on_ip_packet 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. |
Timestamp | This is the number of microseconds from the UNIX Epoch (1977-01-01). This is only available when parsing files. |
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 |