IPV6 ND 路由器通告格式错误的数据包

IPV6 ND 路由器通告格式错误的数据包

我正在尝试在 openvswitch 中为我的一个项目模拟 IPv6 ND 路由器广告数据包,但形成的数据包格式错误(在wireshark 中进行了分析)。以下是我创建的数据包转储,

ICPMV6 ND - Router Advertisement:
Mulicast dst-mac: 33:33:00:00:00:1
Router src-mac: 68:54:ed:00:00:06

00000000  33 33 00 00 00 01 68 54-ed 00 00 06 86 dd 60 00 |33....hT........|
00000010  00 00 40 00 3a dd fe 80-00 00 00 00 00 00 90 ff |..@.:...........|
00000020  02 25 fe 52 ef 00 ff 02-00 00 00 00 00 00 00 00 |.%.R............|
00000030  00 00 00 01 00 00 86 00-2a 7a ff 00 28 23 86 00 |........*z..(#..|
00000040  00 00 86 00 00 00                               |......          |

如果我遗漏了什么,你们可以指出吗?感谢帮助。

答案1

我将你的十六进制转储导入到wireshark中(很酷 - 我刚刚了解了该功能)。这是我的wireshark 中的样子:

在此输入图像描述

看起来您需要在 ICMPv6 标头中设置一些字段。对于 ND RA,根据RFC,ICMP 类型应为 134 (0x86),代码为 0。还需要正确计算校验和。

作为参考,这里是我使用以下命令导入到wireshark 1.99.1中的文本File->Import from Hex Dump ...菜单:

00000000  33 33 00 00 00 01 68 54 ed 00 00 06 86 dd 60 00  33....hT........ 
00000010  00 00 40 00 3a dd fe 80 00 00 00 00 00 00 90 ff  ..@.:........... 
00000020  02 25 fe 52 ef 00 ff 02 00 00 00 00 00 00 00 00  .%.R............ 
00000030  00 00 00 01 00 00 00 00 2a 7a ff 00 28 23 86 00  ........*z..(#.. 
00000040  00 00 86 00 00 00                                ......           

请注意-第 7 个和第 8 个十六进制字节之间没有任何内容,并且|周围没有 ASCII 字节。

相关内容