診断目的でコンピューターが受信している IPv6 ルーター広告を表示するにはどうすればよいでしょうか?
大多数のディストリビューションに「組み込まれている」ツールはありますか?
答え1
tcpdump
多くのディストリビューションにデフォルトでインストールされているものを使用します。
tcpdump -n -i eth0 icmp6
通常の条件下では、ほぼすべてが近隣探索パケットであるすべての ICMPv6 パケットが表示されます。ルータ広告のみを表示するには、次のコマンドを使用します。
tcpdump -n -i eth0 icmp6 and ip6[40] == 134
より詳細な情報を表示するには、-v
; を追加します。パケットの内容を表示するには、オプション を使用します-X
。
tshark は通常 wireshark にバンドルされていますが、ほとんどのディストリビューションでは 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;
...