Как просмотреть объявления маршрутизатора 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
Наиболее распространенными из них являютсяtcpdump,проводная акулаиtshark(версия Wireshark для командной строки). Эти инструменты могут захватывать и декодировать сетевой трафик, включая Router Advertisements.