Linux

如何掃描區域網路上啟用 ipv6 的主機?

  • June 22, 2021

我想發現所有啟用了 ipv6 協議並且還活著的鄰居。我試過ip -6 neighbor show了,但什麼也沒顯示。

有人可以推荐一個工具並展示一些例子嗎?謝謝。

最好在連結多播地址上ping 一個特殊的所有節點ff02::1- 並等待響應:

~ $ ping6 -I eth0 ff02::1
PING ff02::1(ff02::1) from fe80::a11:96ff:fe04:50cc wlan0: 56 data bytes
64 bytes from fe80::a11:96ff:fe02:50ce: icmp_seq=1 ttl=64 time=0.080 ms
64 bytes from fe80::1eaf:f7ff:fe64:ec8e: icmp_seq=1 ttl=64 time=1.82 ms (DUP!)
64 bytes from fe80::6676:baff:feae:8c04: icmp_seq=1 ttl=64 time=4047 ms (DUP!)
64 bytes from fe80::5626:96ff:fede:ae5f: icmp_seq=1 ttl=64 time=4047 ms (DUP!)
64 bytes from fe80::5626:96ff:fede:ae5f: icmp_seq=1 ttl=64 time=3049 ms (DUP!)
64 bytes from fe80::6676:baff:feae:8c04: icmp_seq=1 ttl=64 time=3049 ms (DUP!)
[...]
^C

這裡有幾點:

  • 您必須指定介面:-I eth0
  • 響應是連結本地地址——它們可以很容易地轉換為您的全域地址,方法是用您的子網前綴替換前導fe80:,例如,2001:db8:1234:abcd:如果那是您的子網前綴。

請參閱http://www.iana.org/assignments/ipv6-multicast-addresses/ipv6-multicast-addresses.xhtmlff02::1了解可能感興趣的其他一些多播地址。

引用自:https://serverfault.com/questions/648140