[已解决] 我正在手动构建 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
(在上面的蜜罐守护进程是 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
背景:我正在编写一个代表虚拟高交互蜜罐 (VM) 动态分配 IP 地址的蜜罐守护程序。它侦听未应答的 ARP 请求,获取目的地。IP 并尝试租用该特定目标。来自 DHCP 服务器的 IP 地址,供下一个未绑定的蜜罐使用。当租约被确认后,守护进程最终向源返回一个 ARP 回复。蜜罐存在于一个单独的子网中,目标是将它们逻辑地放置在与主机相同的子网中。从那时起,守护进程负责绑定蜜罐的所有传出/传入流量。以太网帧 src addr 是蜜罐守护进程/主机的 MAC。但是,bootp 中指定的 MAC 完全是任意的。
编辑:刚刚注意到 UDP 校验和为空,没有注意到这一点,因为wireshark 禁用了 udp 校验和验证。这是必要的吗?DHCPDISCOVER 没有,但还是得到了响应?即使是关于可能导致问题的小建议也将不胜感激,谢谢大家
edit2:更正了UDP校验和,问题仍然存在
额外信息:192.168.0.0/24 租约范围 2-254
wireshark 捕获/pcap:http://digitalphoenix.info/uploads/so/honeyPotCapture.pcap (与上面相同,除了假 MAC 和目标 IP 是 192.168.0.109 而不是 xxx106)
最后编辑:已修复。我瞎了。事实证明,当 RFC 拒绝时,服务器 IP 地址字段已被填写。令人惊讶的是,睡个好觉可以做什么。