发送DHCP REQUEST后没有DHCP ACK

时间:2012-01-13 10:31:19

标签: c# dhcp

[解决] 我手动将DHCP数据包构建为DHCP服务器的客户端。到目前为止,我能够发送DHCPDISCOVER数据包并从服务器接收DHCPOFFER作为回报。但是,当我发送DHCPREQUEST时,我根本没有收到预期的DHCPACK。

DHCPDISCOVER:http://digitalphoenix.info/uploads/so/dhcpDiscover.jpg

DHCPOFFER:http://digitalphoenix.info/uploads/so/dhcpOffer.jpg

DHCPREQUEST:http://digitalphoenix.info/uploads/so/dhcpReq.jpg

(在上面的Honeypot守护进程是192.168.0.2,DHCP服务器192.168.0.1,客户端A(192.168.0.6)试图探测不存在的192.168.0.106。试图获得'192.168.0.106的租约“)

我推断DHCP服务器根本不发送ACK,因为:

1)DHCP服务器显示192.168.0.106

没有活动租约 2)DHCP服务器通常在向探测可用性(已测试)发送ACK之前向请求的IP发送ARP请求(未发送ARP请求)

因此问题在于DHCP请求数据包被丢弃或被拒绝......?我甚至没有得到NACK

背景:我正在编写一个Honeypot守护程序,它代表虚拟高交互Honeypots(VM)动态分配IP地址。它侦听未应答的ARP请求,获取目标。 IP并尝试租用该特定目的地。来自DHCP服务器的IP地址,用于下一个未绑定的Honeypot。当确认租约时,守护进程最终返回对源的ARP回复。蜜罐存在于单独的子网中,目标是将它们逻辑地放置在与主机相同的子网中。从那时起,守护进程负责绑定的蜜罐的所有传出/传入流量。以太网帧src addr是Honeypot守护进程/主机的MAC。但是,bootp中指定的MAC完全是任意的。

编辑:刚刚注意到UDP校验和是空的,没有注意到这是因为wireshark禁用了udp校验和验证。这有必要吗? DHCPDISCOVER没有它,但无论如何都得到了响应?关于可能导致问题的小建议,我们将不胜感激,谢谢你们。

edit2:更正了UDP校验和,问题仍然存在

额外信息:192.168.0.0/24租赁范围2-254

wireshark capture / pcap:http://digitalphoenix.info/uploads/so/honeyPotCapture.pcap(与上面相同,除了假MAC和目标IP是192.168.0.109而不是x.x.x.106)

最终编辑:已修复。我瞎了。当RFC说不到时,原来填写了服务器IP地址字段。令人惊讶的是,晚安的睡眠可以做到。

0 个答案:

没有答案