无法从DHCP服务器接收Scapy制作的DHCP发现数据包的响应
我正在尝试通过网络使用scapy发送一个DHCP Discover数据包。我在我的局域网中有两个DHCP服务器,但没有收到任何回复。
这是我发送的数据包:
fm, hw= get_if_raw_hwaddr(scapy.all.conf.iface)
DHCPDiscover = Ether(dst="ff:ff:ff:ff:ff:ff", src=hw)/IP(src="0.0.0.0",dst="255.255.255.255") / UDP(sport=68,dport=67)/BOOTP(op=1, chaddr=hw)/DHCP(options=[("message-type","discover"),("end")])
ans, unans = srp(DHCPDiscover)
输出结果:
接收到23909个数据包,但没有任何回复,剩下1个数据包
1 个回答
1
解决了!我觉得问题出在 srp()
这个函数上。它不能在68号端口接收数据包,不过我创建了一个新的函数,并用一个新线程来监听 BOOTP
消息,并显示数据包的各个字段。