运行ping * hostname *命令时使用的是哪个IPv4

时间:2017-04-04 14:55:42

标签: network-programming

如果我有一个分配了多个IPv4地址的主机名。

ping请求将使用哪个IPv4来解析主机名地址[例如,在运行“ping Some-Pc”时]?

1 个答案:

答案 0 :(得分:0)

在Linux中运行命令'route',您将看到路由表。根据目标地址和路由表,您应该能够确定用于发送ICMP消息的接口,从而确定src IP地址。

例如,在Linux中给出这个路由表:

[mynode]$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    100    0        0 enp0s3
10.0.2.0        0.0.0.0         255.255.255.0   U     100    0        0 enp0s3
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
192.168.56.0    0.0.0.0         255.255.255.0   U     100    0        0 enp0s8
192.168.124.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

如果发送ping到地址10.0.2.45,它将使用enp0s3和相应的IP地址作为src地址。 如果您发送ping到地址172.17.0.0,它将从NIC docker0发送地址和相应的src IP地址。

使用Linux中的 ifconfig (Windows中的 ipconfig ),您可以看到分配给每个接口的IP地址。