def handle_ip(self, pktItem, data): pktItem.src_ip = NetFormat.ntoa_ip(data.src) pktItem.dst_ip = NetFormat.ntoa_ip(data.dst) pktItem.protocol = 'IP' self.statistics.ip += 1 if data.p == dpkt.ip.IP_PROTO_TCP: self.handle_tcp(pktItem, data.data) elif data.p == dpkt.ip.IP_PROTO_UDP: self.handle_udp(pktItem, data.data) elif data.p == dpkt.ip.IP_PROTO_ICMP: self.handle_icmp(pktItem, data.data) elif data.p == dpkt.ip.IP_PROTO_IGMP: self.handle_igmp(pktItem, data.data) else: self.handle_unknown(pktItem, data.data)