Windows
ping ipv6主机名
的方法如下:
ping -6 ipv6.google.com
ping ipv6地址
的方法如下:
ping IPv6Address[%ZoneID]
例如ping 2001:4860:0:2001::68
。如果要ping link-local地址
,则需要指定网络接口索引:
ping fe80::260:97ff:fe02:6ea5%4
其中%4
表示用索引为4
的网络接口ping
目标计算机。要查看网络接口索引,使用如下命令:
netsh interface ipv6 show address
Linux
ping ipv6主机名
的方法如下:
ping6 ipv6.google.com
ping ipv6地址
的方法如下:
ping6 IPv6Address[%InterfaceName]
如果要ping link-local地址
,则需要指定网络接口名称:
ping6 fe80::260:97ff:fe02:6ea5%eth0
其中%eth0
表示用网络接口eth0
来ping
目标计算机。
使用ping6
命令访问一个IPv6
的地址时,经常出现connect: Invalid argument
的错误。解决方法是在IPv6
地址后加上%设备名
,例如ping6 fe80::172:16:212:4%eth0
。Linux
使用ifconfig
命令就可列出所有网络接口名称。
为什么Link-local地址后面要有百分号?
由于所有的link-local
地址都有相同的前缀FE80::/64
,并且每个网络接口都必须分配一个link-local
地址,因而导致当发送数据包到一个link-local
地址时,如果路由器使用普通的路由方法就无法决定选用哪个网络接口。因此引入了一种被叫做zone index
的标识符,它提供额外的路由信息,这个标识符通常指网络接口,并且通过一个百分号被附加在IPv6
地址后面。