如何扫描我的局域网上启用IPv6的主机?

我想发现所有启用了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
  • 响应是链接本地地址 – 通过replace前缀fe80:它们可以很容易地转换为您的全球地址fe80:例如,使用2001:db8:1234:abcd:如果这是您的子网的前缀。

对于ff02::1以外的一些其他多播地址,可以参考http://www.iana.org/assignments/ipv6-multicast-addresses/ipv6-multicast-addresses.xhtml

我使用了NirSoft提供的免费软件,称为networking工具。 它会自动加载所有的networking信息,而且你不需要黑色的CMD盒子。