ARP缓存记录种类动态条目和静态条目

ARP缓存记录种类动态条目和静态条目

为使广播量最小,ARP维护IP地址到MAC地址映射的缓存以便将来使用。根据缓存的有效期时间,ARP缓存中包含动态和静态条目本文选自ARP协议全面实战手册。

这里首先介绍下如何区分ARP缓存表中的动态条目和静态条目。在Windows和Linux系统中ARP缓存的标记方式方式不同,这里分别进行介绍。

1.查看Windows下的标记方式

【实例1-10】在Windows下,查看ARP缓存表中动态条目和静态条目的标记。执行命令如下所示:

  • C:\Users\Administrator>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协议全面实战手册。

上一篇:Adobe AIR中使用Flex连接Sqlite数据库(1)(创建数据库和表,以及同步和异步执行模式)


下一篇:UVa 1262 (第k字典序) Password