2 from scapy.all import *
5 print 'DHCP client: {}'.format(s)
11 # needed for scapy not to match replies since DHCP uses broadcast addresses
13 conf.checkIPaddr = False
16 discover = Ether(dst='ff:ff:ff:ff:ff:ff', src=src_mac)/ \
17 IP(src='0.0.0.0', dst='255.255.255.255')/ \
18 UDP(dport=67,sport=68)/ \
19 BOOTP(op=1, chaddr=src_mac)/ \
20 DHCP(options=[('message-type', 'discover'), ('end')])
22 ans,unans = srp(discover, timeout=3)
24 if rcv[IP].src == dhcp_src:
27 p('Unexpected DHCP packet source address! ({})'.format(rcv[IP].src))
30 if __name__ == "__main__":