动态条目随时间推移自动添加和删除。缓存
q 每一个动态ARP缓存条目默认的生命周期是两分钟。当超过两分钟,该条目会被删掉。因此,生命周期也被称为超时值。工具
q 延长规则:当ARP条目已存在,使用该条目后,将会重设超时值为两分钟。spa
【实例1-12】下面将验证动态条目的生命周期是两分钟。具体操做步骤以下所示:操作系统
(1)查看本机的ARP缓存表。执行命令以下所示:.net
C:\Documents and Settings\Administrator>arp -aorm
No ARP Entries Found接口
输出的信息表示本节中没有任何ARP缓存条目。生命周期
(2)在本机上执行ping命令,经过ARP请求广播获取动态ARP条目。以下所示:ip
C:\Documents and Settings\Administrator>ping 192.168.7.6get
Pinging 192.168.7.6 with 32 bytes of data:
Reply from 192.168.7.6: bytes=32 time<1ms TTL=64
Reply from 192.168.7.6: bytes=32 time<1ms TTL=64
Reply from 192.168.7.6: bytes=32 time<1ms TTL=64
Reply from 192.168.7.6: bytes=32 time<1ms TTL=64
Ping statistics for 192.168.7.6:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
执行以上命令后,将会产生接口地址为192.168.7.6的动态ARP缓存条目。
(3)查看ARP缓存表。执行命令以下所示:
C:\Documents and Settings\Administrator>arp -a
Interface: 192.168.7.8 --- 0x2
Internet Address Physical Address Type
192.168.7.6 50-e5-49-eb-46-8d dynamic
从输出的信息中能够看到,本机中存在一条ARP缓存条目。
(4)过两分钟后,再次查看ARP缓存表。发现该条目已被删除。显示结果以下所示:
C:\Documents and Settings\Administrator>arp -a
No ARP Entries Found
从输出信息中,能够肯定前面的动态ARP条目已被删除。
【实例1-13】下面将验证重复使用动态条目,条目会一直生效。具体操做步骤以下所示:
(1)查看本机的ARP缓存表。执行命令以下所示:
C:\Documents and Settings\Administrator>arp -a
No ARP Entries Found
输出的信息表示本节中没有任何ARP缓存条目。
(2)在本机上执行ping命令,经过-t选项实现一直使用获取到的动态条目。以下所示:
C:\Documents and Settings\Administrator>ping 192.168.6.100 -t
Pinging 192.168.6.100 with 32 bytes of data:
Reply from 192.168.6.100: bytes=32 time<1ms TTL=64
Reply from 192.168.6.100: bytes=32 time<1ms TTL=64
Reply from 192.168.6.100: bytes=32 time<1ms TTL=64
Reply from 192.168.6.100: bytes=32 time<1ms TTL=64
Reply from 192.168.6.100: bytes=32 time<1ms TTL=64
Reply from 192.168.6.100: bytes=32 time<1ms TTL=64
Reply from 192.168.6.100: bytes=32 time<1ms TTL=64
Reply from 192.168.6.100: bytes=32 time<1ms TTL=64
Reply from 192.168.6.100: bytes=32 time<1ms TTL=64
Reply from 192.168.6.100: bytes=32 time<1ms TTL=64
Reply from 192.168.6.100: bytes=32 time<1ms TTL=64
Reply from 192.168.6.100: bytes=32 time<1ms TTL=64
......
执行以上命令后,将会产生接口地址为192.168.6.100的动态ARP缓存条目。
(3)查看ARP缓存表。以下所示:
C:\Documents and Settings\Administrator>arp -a
Interface: 192.168.7.8 --- 0x2
Internet Address Physical Address Type
192.168.6.100 50-e5-49-eb-46-8d dynamic
从输出的信息中,能够看到本机中有一条动态ARP条目。该主机的ARP条目缓存时间,能够经过抓包工具获取到。下面使用Wireshark过滤只显示ARP协议的数据包,如图1.20所示。
图1.20 动态条目重复使用
从该界面能够看到,捕获到的全部数据包中只有第9个数据帧是ARP广播请求包。这是由于在第一次通讯时,不知道对方(192.168.6.100)的MAC地址。在后面捕获到的数据包中,没有出现过这样的广播包。这说明在该过程当中,主机中的ARP条目没有发送变化。
静态条目一直保留在ARP缓存中,意思是永久生效。但不一样的操做系统中,静态条目的保存方式是不一样的。例如,在Windows XP系统中,从新启动计算机后该条目失效。而在Windows 7中,即便从新启动计算机后,该静态条目仍然保存。下面经过几个实例依次验证各类操做系统对静态条目的处理方式。
【实例1-14】下面验证Windows XP的静态条目不保存状况。具体操做步骤以下所示:
(1)手动绑定接口为192.168.7.8的ARP条目。执行命令以下所示:
C:\Documents and Settings\Administrator>arp -s 192.168.7.7 00-19-21-3f-c3-e5
执行以上命令后,没有任何输出信息。
(2)查看ARP缓存表。执行命令以下所示:
C:\Documents and Settings\Administrator>arp -a
Interface: 192.168.7.8 --- 0x2
Internet Address Physical Address Type
192.168.7.7 00-19-21-3f-c3-e5 static
从输出的信息中,能够看到接口为192.168.7.7的ARP缓存条目为static(静态)。
(3)从新启动计算机。启动后,再次查看ARP缓存表。以下所示:
C:\Documents and Settings\Administrator>arp -a
No ARP Entries Found
输出的信息表示没有找到ARP条目。
【实例1-15】下面验证Windows 7的静态条目保存。具体操做步骤以下所示:
(1)手动绑定接口为192.168.7.6的ARP条目。执行命令以下所示:
C:\Documents and Settings\Administrator>arp -s 192.168.7.6 50-e5-49-eb-46-8d
执行以上命令后,没有任何输出信息。
(2)查看ARP缓存表。执行命令以下所示:
C:\Documents and Settings\Administrator>arp -a
Interface: 192.168.7.8 --- 0x2
Internet Address Physical Address Type
192.168.7.6 50-e5-49-eb-46-8d 静态
从输出的信息中,能够看到接口为192.168.7.6的ARP缓存条目为静态。
(3)从新启动计算机。启动后,再次查看ARP缓存表。以下所示:
C:\Documents and Settings\Administrator>arp -a
Interface: 192.168.7.8 --- 0x2
Internet Address Physical Address Type
192.168.7.6 50-e5-49-eb-46-8d 静态
从输出的信息中能够看到绑定的静态条目仍然存在。
【实例1-16】下面验证Linux的静态缓存是否保存。具体操做步骤以下所示:
(1)查看本机的ARP缓存表。执行命令以下所示:
root@kali :~# arp -a
localhost (192.168.5.5) at 00:0c:29:56:bd:21 [ether] on eth0
输出的信息,表示本机中有一条动态ARP缓存条目。
(2)将192.168.5.5的IP地址与MAC地址绑定。执行命令以下所示:
root@kali :~# arp -s 192.168.5.5 00:0c:29:56:bd
执行以上命令后,接口为192.168.5.5的ARP条目将为静态。
(3)查看ARP缓存表。执行命令以下所示:
root@kali :~# arp -a
localhost (192.168.5.5) at 00:0c:29:56:bd:00 [ether] PERM on eth0
从输出的信息中能够看到查看到的ARP条目中,出现了一个PERM关键字。该关键字表示这条ARP条目为静态。
(4)从新启动计算机。启动后,再次查看ARP缓存表。执行命令以下所示:
root@kali :~# arp -a
执行以上命令后,没有任何信息输出。这表示该静态条目,从新启动计算机后将被删除。
本文选自:ARP协议全面实战手册——协议详解、攻击与防护大学霸内部资料,转载请注明出处,尊重技术尊重IT人!