无法从DHCP服务器接收Scapy制作的DHCP发现数据包的响应

0 投票
1 回答
528 浏览
提问于 2025-04-18 18:37

我正在尝试通过网络使用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 消息,并显示数据包的各个字段。

撰写回答