Newer
Older
dhcp2MQTT / docker / listen.py
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