如何查看我的计算机收到的用于诊断目的的 IPv6 路由器通告?

如何查看我的计算机收到的用于诊断目的的 IPv6 路由器通告?

如何查看我的计算机收到的用于诊断目的的 IPv6 路由器通告?

大多数发行版是否有“内置”工具?

答案1

tcpdump在许多发行版上默认安装了以下命令:

tcpdump -n -i eth0 icmp6

将向您显示所有 ICMPv6 数据包,其中在通常情况下几乎都是邻居发现数据包。为了仅查看路由器通告,请使用以下命令:

tcpdump -n -i eth0 icmp6 and ip6[40] == 134

如需更详细,请添加-v;要显示数据包内容,请使用选项-X

tshark 通常与wireshark 捆绑在一起,大多数发行版默认情况下不会安装,而是作为附加包提供。

答案2

虽然不是内置的,但我发现命令行工具radvdump(我的发行版上的软件包的一部分radvd)非常有用,因为它可以完全解码路由器通告并详细显示它们,包括通告的 DNS 信息。

$ radvdump

interface eth0
{       
    AdvSendAdvert on;
    # Note: {Min,Max}RtrAdvInterval cannot be obtained with radvdump
    AdvManagedFlag on;
    AdvOtherConfigFlag on;
    AdvReachableTime 0;
    AdvRetransTimer 0;
    AdvCurHopLimit 64;
    AdvDefaultLifetime 65535;
    AdvHomeAgentFlag off;
    AdvDefaultPreference medium;
    AdvSourceLLAddress on;
    AdvLinkMTU 1280;
    AdvIntervalOpt on;

    prefix 1111:2222:3333:4444::/64
    {       
        AdvValidLifetime infinity; # (0xffffffff)
        AdvPreferredLifetime infinity; # (0xffffffff)
        AdvOnLink on;
        ...

答案3

最常见的是tcp转储,线鲨沙克(Wireshark 的命令行版本)。这些工具可以捕获和解码网络流量,包括路由器通告。

相关内容