arping 功能说明:发送arp请求
arping是用于发送arp请求到一个相邻主机的工具,arping使用arp数据包检查局域网内所有设备的硬件地址。 

参数选项
-c <次数>        发送指定次数的arp报文后退出命令
-f               当收到第一个应答报文时,立即退出命令。此选项用于判断目标主机是否存在或者正常运行
-I 网络接口      指定网络接口发送arp报文
-w <截止时间>    设置命令的执行裁止时间
-s source        设定arping发送的arp数据包中的源地址 

 

范例:测试目的主机是否存活
[root@cs6 ~]# arping -f 10.0.0.1  #<==使用-f选项收到第一个响应时就退出,用于检测目的主机是否存活。
ARPING 10.0.0.1 from 10.0.0.100 eth0     #<==从10.0.0.100的eth0网卡向10,0.0.1发送arp报文。
Unicast reply from 10.0.0.1 [00:50:56:C0:00:08]  0.595ms  <==从10.0.0.1单播回复它的MAC地址,并且显示时是
Sent 1 probes (1 broadcast(s))     #<=发送1个广播包
Received 1 response(s)
[root@cs6 ~]# arping -f 10.0.0.11  #<==没有运行的主机不会响应,命令一直等待,直到Ctr1+C终止。
ARPING 10.0.0.11 from 10.0.0.100 eth0
^CSent 5 probes (5 broadcast(s))
Received 0 response(s)



范例:Linux 负载均衡器宕机切换时arp缓存导致故障案例
当Linux负载均衡器发生宕机故障,我们使用备用的设备接管时,因为所有用户以及客户端的arp缓存里对应的仍然是宕机时的负载均衡器的IP,
因此,切换完新负载均衡器之后,短时间内用户访问可能依然不正常,此时就需要执行arping命令,让所有的客户端缓存失效,这也是高可用软件的做法:
[root@cs6 ~]# arping -c 1 -I eth0 -s 10.0.0.5 10.0.0.2  #<==这里的10.0.0.5是VIP地址,10.0.0.2是上网网关。