ARP协议具体解释之ARP动态与静态条目的生命周期
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所看到的。
图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人!
ARP协议具体解释之ARP动态与静态条目的生命周期的更多相关文章
- ARP协议详解之ARP动态与静态条目的生命周期
ARP协议详解之ARP动态与静态条目的生命周期 ARP动态条目的生命周期 动态条目随时间推移自动添加和删除. q 每个动态ARP缓存条目默认的生命周期是两分钟.当超过两分钟,该条目会被删掉.所以,生 ...
- ARP协议具体解释之Gratuitous ARP(免费ARP)
ARP协议具体解释之Gratuitous ARP(免费ARP) Gratuitous ARP(免费ARP) Gratuitous ARP也称为免费ARP.无故ARP.Gratuitous ARP不同于 ...
- ARP协议(1)什么是ARP协议
这是最近在看<TCP/IP具体解释>系列书总结出来的,之后会陆续把其它协议部分分享出来. 我尽量以简单易读.易懂的方式呈现出来,可是,因为文笔和水平有限.有些地方或许存在描写叙述上的不足或 ...
- 图解ARP协议(二)ARP攻击原理与实践
一.ARP攻击概述 在上篇文章里,我给大家普及了ARP协议的基本原理,包括ARP请求应答.数据包结构以及协议分层标准,今天我们继续讨论大家最感兴趣的话题:ARP攻击原理是什么?通过ARP攻击可以做什么 ...
- 图解ARP协议(三)ARP防御篇-如何揪出“内鬼”并“优雅的还手”
一.ARP防御概述 通过之前的文章,我们已经了解了ARP攻击的危害,黑客采用ARP软件进行扫描并发送欺骗应答,同处一个局域网的普通用户就可能遭受断网攻击.流量被限.账号被窃的危险.由于攻击门槛非常低, ...
- 关于FragmentManager动态管理Fragment时Fragment生命周期的探究
Fragment是Android中的重要组件,在Android 3.0的时候添加进来. 关于Fragment的生命周期,我相信了解过的开发人员都应该把以下方法脱口而出:onAttach, onCrea ...
- ARP协议与ARP攻击入门
一 ARP协议 ARP协议是一个年代相当"久远"的网络协议.ARP协议制定于1982年11月,英文全称:Address Resolution Protocol,即"地址解 ...
- TCP/IP详解学习笔记(3)-IP协议,ARP协议,RARP协议
把这三个协议放到一起学习是因为这三个协议处于同一层,ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息.数据链路层可以从ARP得到数据的传送信息,而从IP得到要传输的数 ...
- 通信原理之IP协议,ARP协议 (三)
把这三个协议放到一起学习是因为这三个协议处于同一层,ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息.数据链路层可以从ARP得到数据的传送信息,而从IP得到要传输的数 ...
随机推荐
- 链接加载文件gcc __attribute__ section
在阅读源代码的过程中,发现一个头文件有引用: /** The address of the first device table entry. */ extern device_t devices[] ...
- linux 中解析命令行参数(getopt_long用法)
linux 中解析命令行参数(getopt_long用法) http://www.educity.cn/linux/518242.html 详细解析命令行的getopt_long()函数 http:/ ...
- SQLAlchemy ORM教程之二:Query
from:https://www.jianshu.com/p/8d085e2f2657 这是继SQLAlchemy ORM教程之一:Create后的第二篇教程.在上一篇中我们主要是解决了如何配置ORM ...
- Android系统是一个基于BInder通信的C/S架构
Android系统基本上可以看作是一个基于Binder通信的C/S架构.他有服务器端和客户端.比如自己开发一个程序,肯定是基于Activity的而Activity就是作为客户端,他的服务器端就是Act ...
- [ 总结 ] vsftpd 虚拟用户配置
需求:在不更改目录权限的前提下,ftp用户对目录里的文件拥有所有权. [root@server2 ~]# yum install vsftpd -y [root@server2 ~]# cd /etc ...
- cobbler部署安装
挂载光驱 # mount /dev/cdrom /mnt/ 安装cobbler所需软件 # yum install cobbler cobbler-web dhcp tftp-server pykic ...
- sublime text3插件TrailingSpaces无法使用的解决方法
TrailingSpaces是很好用的一款插件,可以清除代码结尾打多了几个空格或Tab,对于代码洁癖绝对是个福音,我的sublime text3本来安装了这款插件,也可以正常使用,今天突然不能用了,即 ...
- (转载)grep的使用
R的意思是递归的对目录下的所有文件(包括子目录)进行 grep. 比如 grep -R main src就会搜索src目录下所有文件中是否包含 main 这个字符串. 因此grep -R " ...
- 11.5NOIP2018提高组模拟题
书信(letter) Description 有 n 个小朋友, 编号为 1 到 n, 他们每人写了一封信, 放到了一个信箱里, 接下来每个人从中抽取一封书信. 显然, 这样一共有 n!种拿到书信的情 ...
- Javascript 行为委托
JavaScript 与C++,Java的面相对象编程的语言不同.就像不懂Linux人,会创造一个蹩脚的linux一样.一些JavaScript的编程总在尝试利用JavaScript 去模拟传统的面向 ...