How to scan ipv6 enabled hosts on my LAN?
Best to ping a special all nodes on a link multicast address - ff02::1
- and wait for the responses:
~ $ 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
A couple of points here:
- you must specify the interface:
-I eth0
- The responses are link-local addresses - they can easily be converted to your global address by replacing the leading
fe80:
with your subnet's prefix, e.g. with2001:db8:1234:abcd:
if that's your subnet's prefix.
See http://www.iana.org/assignments/ipv6-multicast-addresses/ipv6-multicast-addresses.xhtml for some other multicast addresses other than ff02::1
that may be of an interest.