了解 DHCPv6 状态请求消息

了解 DHCPv6 状态请求消息

我一直在阅读全文RFC 3315并尝试生成欺骗节点来请求 IPv6 地址。(仅用于练习)

现在,我有一个带有 wide-dhcpv6-server(DHCPv6 服务器)的 Ubuntu、一个带有 DHCPv6 中继代理的 Cisco 2811 路由器和两个节点,一个带有 wide-dhcpv6-client(dhcp 客户端程序),另一个尝试生成第一条消息。

具有 wide-dhcpv6-client 的节点生成其 Solicit 消息,然后路由器中继接收该消息并将其传递给服务器(位于其他子网上),然后完成整个过程(Solicit、adverstiment、请求和答复)。

第二个节点生成伪造的 Solicit 消息,其中包含 DELL OUI 上的 MAC 地址。我只是试图为网络上的一个新节点复制该过程。我正在尝试从服务器获取 Adverstiment 消息。

到目前为止,这是有效客户端生成(并使用 Wireshark 捕获)的消息:

fe80::221:70ff:fe1c:9b79    ff02::1:2   DHCPv6  112 Solicit XID: 0xfc828 CID: 0001000119c50e640021701c9b79 

这是被欺骗的节点:

fe80::26b6:fdff:fee5:d276   ff02::1:2   DHCPv6  112 Solicit XID: 0x15341f CID: 0001000119c6616e24b6fde5d276 

使用 wide-dhcpv6-client 程序的节点和欺骗程序创建的消息似乎在几乎所有方面都相同,除了 DUID、链路层地址和 Transaction-ID,但这是正确的(前两个用于识别未来的节点,而请求消息中的第二个应该是 100% 随机的,但将成为其他 3 条消息的基础)

知道我可以在哪里寻找线索吗?

PS我已经尝试将DHCPv6服务器切换到同一子网并删除中继代理。

答案1

欺骗节点不存在,第二条消息(服务器广告)是单播,这意味着在发送消息之前,有一个 NDP 邻居请求从未得到答复,并且由于同样的原因,中继代理(或位于同一子网时的服务器)永远不会发送第二条消息。

这意味着如果您想欺骗 IPv6 主机,您也需要准备好回答 NDP 消息(或者不要这样做)。

相关内容