如何扫描局域网中启用了ipv6的主机?


8

我想发现所有启用了ipv6协议并且仍然存活的邻居。我试过了,ip -6 neighbor show但是什么也没显示。

有人可以推荐工具并显示一些示例吗?谢谢。


2
您的网络上实际上有IPv6流量吗?
迈克尔·汉普顿

Wireshark允许ipv6作为过滤器,这将是查找ND / RA数据包的一种方法。
cpt_fink 2014年

@Douglas Su-如果您对以下答案感到满意,请将其标记为正确答案,以奖励作者为帮助您所花费的时间。谢谢!
MLu 2014年

Answers:


22

最好对链接多播地址的特殊所有节点执行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.xhtml,以获得其他ff02::1可能不感兴趣的其他多播地址。


4
我个人更喜欢使用-cping命令自动停止,-n这样它就不会尝试反向DNS,如下所示:ping6 -c2 -n ff02::1%eth0。用全局前缀替换链接本地前缀通常会为您提供节点的全局地址,但并非总是如此,这取决于特定的配置。
kasperd 2014年

4
响应是本地链接地址-通过用fe80:子网前缀替换开头,可以很容易地将它们转换为全局地址,例如,2001:db8:1234:abcd: “不一定是正确的。IPv6可以具有(甚至要求使用)除链接本地地址以外的地址,同一接口上的多个网络以及这些地址的IID部分甚至不需要远程相同。您必须具有本地链接地址,但同一接口上也可以具有多个全局和/或ULA地址,并且不需要具有相同的IID甚至前缀长度。
罗恩·莫平

有没有办法从Windows做到这一点?Windows的ping似乎没有等效的“ -I”。
BlueMonkMN

-6

我使用了NirSoft的免费软件,称为网络工具。它会自动加载您的所有网络信息,并且您不需要黑色的cmd框。


3
那真是太棒了,我希望它是一个电子应用程序!
znarf

我认为“黑cmd盒” 比任何给定的黑盒软件在学习问题上都更有帮助。
基督教
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.