ARP协议具体解释之ARP动态与静态条目的生命周期

时间:2022-04-17 04:02:36

ARP协议详细解释之ARP动态与静态条目的生命周期

ARP动态条目的生命周期

动态条目随时间推移自己主动加入和删除。

  • q  每一个动态ARP缓存条目默认的生命周期是两分钟。当超过两分钟,该条目会被删掉。所以,生命周期也被称为超时值。

  • q  延长规则:当ARP条目已存在。使用该条目后,将会重设超时值为两分钟。

【实例1-12】以下将验证动态条目的生命周期是两分钟。详细操作过程例如以下所看到的:

(1查看本机的ARP缓存表。运行命令例如以下所看到的:

  • C:\Documents and Settings\Administrator>arp -a

  • No ARP Entries Found

输出的信息表示本节中没有不论什么ARP缓存条目。

(2在本机上运行ping命令,通过ARP请求广播获取动态ARP条目。例如以下所看到的:

  • C:\Documents and Settings\Administrator>ping 192.168.7.6

  • 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所看到的。

ARP协议具体解释之ARP动态与静态条目的生命周期

图1.20  动态条目反复使用

从该界面能够看到,捕获到的全部数据包中仅仅有第9个数据帧是ARP广播请求包。这是由于在第一次通信时,不知道对方(192.168.6.100)的MAC地址。

在后面捕获到的数据包中,没有出现过这种广播包。

这说明在该过程中,主机中的ARP条目没有发送变化。

​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条目中,出现了一个PERMkeyword。

该keyword表示这条ARP条目为静态。

(4又一次启动计算机。启动后。再次查看ARP缓存表。

运行命令例如以下所看到的:

  • root@kali:~# arp -a

运行以上命令后,没有不论什么信息输出。

这表示该静态条目,又一次启动计算机后将被删除。

本文选自:ARP协议全面实战手冊——协议详细解释、攻击与防御大学霸内部资料,转载请注明出处,尊重技术尊重IT人!