11

How can I view IPv6 router advertisements that are being received by my computer for diagnostic purposes?

Are there any tools "built-in" to the majority of distros?

3 Answers 3

20

Using tcpdump which is installed by default on many distributions:

tcpdump -n -i eth0 icmp6

will show you all ICMPv6 packets of which - under usual conditions - almost all are neighbor discovery packets. In order to see only router advertisements, use the following command:

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

For more verbosity, add -v; to display packet contents, use the option -X.

tshark is usually bundled with wireshark, which most distributions do not install by default but provide as additional package.

11

While not built in, I find the command-line tool radvdump (part of the radvd package on my distro) very informative as it fully decodes the router advertisements and displays them in detail, including advertised DNS information.

$ 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;
        ...
1
  • 1
    Unfortunately it can't seem to see anything on any other interfaces
    – nyet
    Jan 17, 2020 at 1:41
2

The most common ones are tcpdump, wireshark and tshark (the command-line version of Wireshark). Those tools can capture and decode network traffic, including Router Advertisements.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .