ping6
can be used on Linux hosts to ping the “allhosts” address, ff02::1
. If you try running ping6 ff02::1
with no arguments you will get an error like connect: Invalid argument
, instead you must provide the interface to ping from with the -I
argument. As an example, to ping all IPv6 hosts that are connected to the eth0
interface:
ping -I eth0 ff02::1
You will get an answer back like this:
root@testsrv:~# ping -I eth0 ff02::1 PING ff02::1(ff02::1) from fe80::45c:20ff:feea:94a5%eth0 eth0: 56 data bytes 64 bytes from fe80::45c:20ff:feea:94a5%eth0: icmp_seq=1 ttl=64 time=0.074 ms 64 bytes from fe80::fccc:60ff:fe40:db7a%eth0: icmp_seq=1 ttl=64 time=0.719 ms (DUP!) 64 bytes from fe80::e430:aeff:fe2f:da74%eth0: icmp_seq=1 ttl=64 time=1.06 ms (DUP!) 64 bytes from fe80::8618:88ff:fea3:7300%eth0: icmp_seq=1 ttl=64 time=1.36 ms (DUP!)
One thought on “Ping all IPv6 Neighbors”
I love it! I can’t wait to see multiple IPv6 hosts infected by a virus in a few internal PCs and all pinging together! What a mess would that be! Is it not the reason IPv4 stopped responding to broadcast packets? What a mess would that be even with limited responses