ARP缓存记录种类动态条目和静态条目
为使广播量最小,ARP维护IP地址到MAC地址映射的缓存以便将来使用。根据缓存的有效期时间,ARP缓存中包含动态和静态条目本文选自ARP协议全面实战手册。
这里首先介绍下如何区分ARP缓存表中的动态条目和静态条目。在Windows和Linux系统中ARP缓存的标记方式方式不同,这里分别进行介绍。
1.查看Windows下的标记方式
【实例1-10】在Windows下,查看ARP缓存表中动态条目和静态条目的标记。执行命令如下所示:
- C:UsersAdministrator>arp -a
- 接口: 192.168.5.4 --- 0xc
- Internet 地址 物理地址 类型
- 192.168.5.1 c8-3a-35-84-78-1e 动态
- 192.168.5.255 ff-ff-ff-ff-ff-ff 静态
- 224.0.0.2 01-00-5e-00-00-02 静态
- 224.0.0.22 01-00-5e-00-00-16 静态
- 224.0.0.251 01-00-5e-00-00-fb 静态
- 224.0.0.252 01-00-5e-00-00-fc 静态
- 224.0.0.253 01-00-5e-00-00-fd 静态
- 239.255.255.250 01-00-5e-7f-ff-fa 静态
- 255.255.255.255 ff-ff-ff-ff-ff-ff 静态
以上输出信息显示了192.168.5.4接口的ARP缓存条目。从输出的结果中可以看到在ARP缓存中保存的条目是一个IP地址——MAC地址的对应表。其中,类型列的“动态”表示使用ARP请求广播动态获取到的条目,“静态”表示是手工配置和维护的ARP表。
2.查看Linux下的标记方式
【实例1-11】在Linux下,查看ARP缓存表中静态条目和动态条目的标记。这里有三种方法,可以查看ARP缓存表。
(1)第一种方法:arp命令
使用arp命令查看Linux下的ARP缓存表。如下所示:
- root@kali:~# arp
- Address HWtype HWaddress Flags Mask Iface
- 192.168.5.1 ether c8:3a:35:84:78:1e C eth0
输出信息显示了本机的ARP缓存表。该缓存表中有一条动态ARP缓存条目。
使用arp -s将该条目绑定为静态ARP条目。执行命令如下所示:
- root@kali:~# arp -s 192.168.5.1 c8:3a:35:84:78:1e
执行以上命令后,地址为192.168.5.1的ARP条目将成为静态。此时,可以使用arp命令再次查看ARP缓存表。如下所示:
- root@kali:~# arp
- Address HWtype HWaddress Flags Mask Iface
- 192.168.5.1 ether c8:3a:35:84:78:1e CM eth0
从输出信息中可以看到地址为192.168.5.1的ARP条目中,Flags Mask为CM,表示该条目为静态。
(2)第二种方法:arp -a命令
使用arp -a命令查看Linux下的ARP缓存表。如下所示:
- root@kali:~# arp -a
- router.router (192.168.5.1) at c8:3a:35:84:78:1e [ether] on eth0
使用arp -s将该条目绑定为静态ARP条目。执行命令如下所示:
- root@kali:~# arp -s 192.168.5.1 c8:3a:35:84:78:1e
执行以上命令后,地址为192.168.5.1的ARP条目将成为静态。此时,可以使用arp -a命令再次查看ARP缓存表。如下所示:
- root@kali:~# arp -a
- router.router (192.168.5.1) at c8:3a:35:84:78:1e [ether] PERM on eth0
从输出的信息中,可以看到该ARP条目与绑定之前的输出信息不同。这里多了一个PERM关键字,表示该条目为静态ARP缓存条目。
(3)第三种方法:查看文件
在未绑定ARP条目前,查看/proc/net/arp文件。如下所示:
- root@kali:~# cat /proc/net/arp
- IP address HW type Flags HW address Mask Device
- 192.168.5.1 0x1 0x0 c8:3a:35:84:78:1e * eth0
输出信息显示了本机的ARP缓存表。该缓存表中有一条动态ARP缓存条目。
绑定ARP条目。执行命令如下所示:
- root@kali:~# arp -s 192.168.5.1 c8:3a:35:84:78:1e
执行以上命令后,再次查看/proc/net/arp文件。将显示如图所示的信息:
- root@kali:~# cat /proc/net/arp
- IP address HW type Flags HW address Mask Device
- 192.168.5.1 0x1 0x6 c8:3a:35:84:78:1e * eth0
从输出的信息中可以看到,该条目与绑定之前的条目不同。此条目中的Flags值为0x6,绑定之前为0x0本文选自ARP协议全面实战手册。