ARP—-地址解析协议,用来获得目的主机的硬件地址
工作过程:
源主机发出ARP请求,询问“IP地址是192.168.0.1的主机的硬件地址是多少?”,并将这个请求广播到本地网段(以太网帧首部的硬件地址填FF:FF:FF:FF:FF:FF,表示广播),目的主机收到ARP请求,发现IP地址与自己的相同,则发送一个ARP应答数据包给源主机,将自己的硬件地址填写在应答包中。
每个主机都维护一个ARP缓存表,用arp -a命令查看。
时效一般为20分钟,如果20分钟内没有使用某个表项,则该表项失效,下次还要发ARP请求来获得目的主机的硬件地址。
arp脚本
#!/bin/bash
i=1
count=0
while [ $i -le 254 ]
do
if [ $count -gt 20 ];then
count=0
sleep 2
fi
ping -c1 "192.168.1.$i" &
let i++
let count++
done
运行arp脚本,连在局域网内的一台手机的IP地址是192.168.1.102
由图可见,可以ping通。