如何查看我的计算机接收的 IPv6 路由器广告以进行诊断?

Cor*_*rey 9 routing ipv6

如何查看我的计算机接收的 IPv6 路由器广告以进行诊断?

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

cou*_*ode 14

使用tcpdump默认安装在许多发行版上:

tcpdump -n -i eth0 icmp6
Run Code Online (Sandbox Code Playgroud)

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

tcpdump -n -i eth0 icmp6 and ip6[40] == 134
Run Code Online (Sandbox Code Playgroud)

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

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


Mal*_*ous 7

虽然不是内置的,但我发现命令行工具radvdumpradvd我的发行版上的软件包的一部分)非常有用,因为它可以完全解码路由器广告并详细显示它们,包括广告的 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;
        ...
Run Code Online (Sandbox Code Playgroud)