I knew a tool like this had to exist, but I had never needed to look in the past. While debugging a RA problem, I come upon the need to view IPv6 router advertisements. How can one do this? tcpdump? Yeah, I guess that could work. It’s almost like using a bulldozer when a wheelbarrow is all you need, though. I could use ndpmon, I suppose, but that, too seems like overkill.
So, the search began. After about 10 seconds of google searching….. Success! A tool, does in fact exist for viewing exactly that type of packet.
Enter radvdump. It is part of the marvelous rtadvd project. It also exists in MacPorts.
Sweet, now I can see my IPv6 router advertisements in a very simple manner. The syntax is very straightforward, the command sudo /opt/local/sbin/radvdump will yield you pretty much everything you need to know about what is in your router advertisement:
#
# radvd configuration generated by radvdump 1.6
# based on Router Advertisement from fe80::20d:b9ff:fe18:8ca1
# received by interface en0
#
interface en0
{
AdvSendAdvert on;
# Note: {Min,Max}RtrAdvInterval cannot be obtained with radvdump
AdvManagedFlag off;
AdvOtherConfigFlag off;
AdvReachableTime 0;
AdvRetransTimer 0;
AdvCurHopLimit 64;
AdvDefaultLifetime 1800;
AdvHomeAgentFlag off;
AdvDefaultPreference medium;
AdvSourceLLAddress on;
prefix 2001:470:xxxx:xxx::/64
{
AdvValidLifetime 2592000;
AdvPreferredLifetime 604800;
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr off;
}; # End of prefix definition
prefix 2001:470:xxxx:xxx::/64
{
AdvValidLifetime 2592000;
AdvPreferredLifetime 604800;
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr off;
}; # End of prefix definition
}; # End of interface definition
Once you have all of that working, head over to see the dancing kame (if you’re old school) of just head to my main domain and it’ll show you your ipv4 or ipv6 address at the top. Alternatively, you can use google over ipv6 in a number of ways.