尝试ping命令时ARP运行的原因是什么?

时间:2014-02-20 16:02:08

标签: ping wireshark arp

当我尝试 ping 命令时,当我在 wireshark 中看到第一个 ARP请求时, ARP strong>仅回复 ICMP请求

我认为这就是ARP请求进入第一个原因的原因,

尝试 ping 时,需要知道目标设备的 MAC 地址, 所以它试图首先获取MAC地址,然后发送 ICMP请求

如果确实如此,可以在ping命令中提及mac地址(不要尝试ARP)

如果不是这样的话是什么原因

1 个答案:

答案 0 :(得分:2)

您会注意到ARP请求仅在您第一次运行ping时发生。如果您再次运行它(第一次运行后不久),您将看到ping立即启动ICMP请求。这是因为当系统通过ARP发现IP地址/ MAC地址关联时,它会将结果存储在本地arp cache中。缓存中的条目会在一段时间后过期。

您可以使用arp命令手动填充ARP缓存:

arp -s <ipaddr> <macaddr>

E.g:

arp -s 192.168.1.1 192.168.1.1

您可以看到ARP缓存的内容,如下所示:

arp -an

因此,如果您使用目标主机的MAC地址手动更新ARP缓存,则可以通过网络上的ARP请求对其进行ping操作。