from scapy.all import * import paho.mqtt.client as mqtt import os LISTEN_INTERFACE=os.environ.get('LISTEN_INTERFACE') MQTT_SERVER = os.environ.get('MQTT_SERVER') MQTT_PORT = os.environ.get('MQTT_PORT') MQTT_TOPIC = os.environ.get('MQTT_TOPIC') def onPackage(pkt): if (pkt.haslayer(DHCP)): print "DHCP from " + pkt[Ether].src client.publish(MQTT_TOPIC + "/mac", str(pkt[Ether].src)) # end if # end apr_display client = mqtt.Client() client.connect(MQTT_SERVER, MQTT_PORT, keepalive=60, bind_address="") try: if (LISTEN_INTERFACE): print sniff(prn=onPackage, iface=LISTEN_INTERFACE, filter="ip", store=0, count=0) else: print sniff(prn=onPackage, filter="ip", store=0, count=0) # end if except KeyboardInterrupt: pass # end try