路由器通告包

网络工程 IPv6 包分析 icmpv6
2022-02-02 13:26:53

网络初学者,尝试使用捕获的路由器广告数据包了解 tcpdump 工具的输出。

tcpdump -i wlp4s0 -nn -t -c1 -vvv -X -s0

根据我在网上找到的内容,路由器广告消息似乎应该以值 134 (0x86) 作为第一个字节开始: 在此处输入图像描述

但是,在 tcpdump 输出中,我根本看不到 0x86 (134)。这是使用 -X 选项获得的 hex/ascii 输出的第一行:

0x0000:  6000 0000 0068 3aff fe80 0000 0000 0000  `....h:.........

第一个字节不应该等于0x86吗?我从哪里开始查找图表中显示的数据?

1个回答

从 tcpdump 手册页:

-X 解析和打印时,除了打印每个数据包的头外,还打印每个数据包的数据(减去它的链路级头)。

因此,您正在查看以 6 开头的 IPv6 标头。

标头长 40 个字节,因此在您的示例中,您只看到 IPv6 标头的一部分,而没有看到有效负载。但足以说明没有扩展头,因为 Next Header 字段(第 7 个字节)是 0x3a = 58,表示 ICMPv6。

ICMPv6 标头长 8 个字节,因此如果您想查看原始 RA 数据,则需要再显示几行(RA 将从字节 0x0030 开始)。