
私は全文を読んRFC 3315
で、IPv6 アドレスを要求する偽装ノードを生成しようとしています。(練習のためだけに)
現在、wide-dhcpv6-server (DHCPv6 サーバー) を備えた Ubuntu、DHCPv6 リレー エージェントが利用可能な Cisco 2811 ルーター 1 台、および 2 つのノード (1 つは wide-dhcpv6-client (DHCP クライアント プログラム) を備え、もう 1 つは最初のメッセージを生成しようとしている) を備えています。
wide-dhcpv6-client を持つノードは Solicit メッセージを生成し、ルータ リレーはメッセージを取得してサーバー (別のサブネット上にある) に渡し、完全なプロセス (Solicit、advertstiment、Request、および reply) が実行されます。
2 番目のノードは、DELL OUI の MAC アドレスを使用して、偽装された Solicit メッセージを生成します。ネットワーク上の新しい 1 つのノードに対してのみプロセスを複製しようとしています。サーバーから 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 クライアント プログラムを使用してノードによって作成されたメッセージとスプーフィングされたメッセージは、DUID、リンク層アドレス、トランザクション ID を除くほぼすべての点で同じであるように見えますが、これは正しいです (最初の 2 つは将来のノードを識別するためのもので、2 番目の要請メッセージは 100% ランダムである必要がありますが、他の 3 つのメッセージのベースになります)。
手がかりを探すにはどこを行えばよいか、何かアイデアはありますか?
PS: DHCPv6 サーバーを同じサブネットに切り替えてリレー エージェントを削除しようとしました。
答え1
スプーフィングされたノードは存在せず、2 番目のメッセージ (サーバー広告) はユニキャストです。つまり、メッセージを送信する前に、応答が得られなかった NDP 近隣要請があり、同じ理由で、リレー エージェント (または同じサブネット上にある場合はサーバー) は 2 番目のメッセージを送信しません。
つまり、IPv6 ホストを偽装する場合は、NDP メッセージにも応答する準備が必要です (または、応答しないでください)。