def packetHandler(pkt): global mac if pkt.haslayer(IP): ip = pkt.getlayer(IP) ether = pkt.getlayer(Ether) if ip.dst != None and func.inSubnet( ip.dst) and ether.src != mac: # removing data from AP if pkt.lastlayer().haslayer(ICMP): icmp.process(pkt) if pkt.lastlayer().haslayer(UDP): udp.process(pkt) if pkt.lastlayer().haslayer(TCP): syn.process(pkt) if __name__ == '__main__': if len(sys.argv) != 2: usage() func.setSubnet(sys.argv[1]) global mac mac = db.getSubnet()['mac'] while True: sniff(iface=sys.argv[1], count=1, prn=packetHandler)
if ip.dst != None and func.inSubnet( ip.dst) and ether.src != mac: # removing data from AP if pkt.haslayer(ICMP): icmp.process(pkt, scenario, t_start) if pkt.haslayer(UDP): udp.process(pkt, scenario, t_start) if pkt.haslayer(TCP): tcp.process(pkt, scenario, t_start) # entry if __name__ == '__main__': if len(sys.argv) != 2: usage() # connect to rpc sio.connect(server) func.setSubnet(func.host_iface) global mac global scenario scenario = sys.argv[1] mac = db.getSubnet()['mac'] # sniff for packets d.default('[+] Analyzing traffic on {}'.format(func.host_iface)) while True: sniff(iface=func.host_iface, count=1, prn=packetHandler)