了解DHCPv6有状态请求消息

我一直在阅读完整的RFC 3315并尝试生成欺骗节点来请求IPv6地址。 (只适用于练习)

现在,我有一个Ubuntu的宽dhcpv6服务器(DHCPv6服务器),一个思科2811路由器的DHCPv6中继代理可用和两个节点,其中一个宽dhcpv6客户端(一个DHCP客户端程序),一个尝试生成第一条消息。

具有宽dhcpv6-客户端的节点生成他的请求消息,并且路由器中继服务器将该消息传递给服务器(在其他子网上),并且发生完整的过程(请求,请求,请求和回复)。

第二个节点通过DELL OUI上的MAC地址生成伪造的Solicit消息。 我只是试图复制networking上新的一个节点的过程。 我试图从服务器获得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 

由dhcpv6客户端程序和伪造的节点创build的消息在DUID,链路层地址和事务ID之外的几乎所有东西上似乎是相同的,但是这是正确的(前两个是用于标识节点未来和第二个征求消息应该是100%随机的,但将成为其他3个消息的基础)

任何想法,我可以尝试寻找任何线索?

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

伪装的节点不存在,第二个消息(服务器adverstiment)是单播的,这意味着在发送消息之前有一个NDP邻居请求从来没有得到答案,同样的原因,中继代理(或服务器是在同一个子网)从不发送第二条消息。

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