ARP欺骗攻击实例与防范技术
- 格式:pdf
- 大小:619.28 KB
- 文档页数:2
ARP欺骗,是针对以太网地址解析协议(ARP)的一种攻击技术。
此种攻击可让攻击者取得局域网上的数据封包甚至可篡改封包,且可让网络上特定计算机或所有计算机无法正常连接,对局域网的安全性与稳定性有比较强的破坏力。
ARP概念1.ARP欺骗原理:黑客C经过收到A发出的ARP Request广播报文,能够偷听到A的 (IP, MAC) 地址, 黑客C就伪装为B,告诉A (受害者) 一个假MAC地址(这个假地址是C的MAC地址),使得A在发送给B的数据包都被黑客C截取,而A, B 浑然不知。
2.欺骗种类:1、截获网关发出的数据。
欺骗源通过ARP报文通知网关一系列错误的内网MAC-IP地址关系,并按照一定的频率不断进行,使网关的ARP缓存表中不能保存正常的地址信息中,结果网关的所有数据只能发送给错误的MAC地址,造成正常PC无法收到信息。
2、伪造网关欺骗源把自己伪装成网关,向局域网内的主机发送ARP应答或免费ARP报文。
使得局域网内的主机误以为欺骗源的MAC是网关MAC地址。
使得原本流向网关的数据都被错误地发送到欺骗源。
3、伪造主机欺骗源C把自己伪装成局域网内的另一台主机B,使得局域网内发往B的报文都流向了C。
伪造主机的过程与伪造网关类似。
3.防范技术:1、在网关和主机上设备静态ARP表项,这样欺骗ARP报文携带的信息与静态表项不同,会被忽略。
仅适合于小规模局域网,不适合于DHCP。
2、在交换机上限制每个端口的ARP表项数量。
端口上仅能够学习有限数量的ARP表项。
如果设置为1,则只允许一个ARP表项被学习,伪装的MAC地址就无法通过交换机。
对上述[欺骗种类1]比较有较。
3、与DHCP结合。
DHCP snooping的过程中,会建立DHCP表项,主机的的IP以及用户MAC、VID、PORT、租约时间等信息组成用户记录表项,从而形成DHCP Snooping 的用户数据库。
DHCP可以很清楚地知道给哪个MAC分配了哪个IP。
防止arp欺骗木马病毒小案例一.Arp病毒简介近期,一种新的“ARP欺骗”木马病毒(比如:传奇盗号的软件,某些传奇外挂中也被恶意加载了此程序)在互联网上扩散,不少客户局域网中都已发现机器感染此病毒,表现为用户频繁断网、线路严重丢包,IE浏览器频繁出错以及一些常用软件出现故障等问题。
Arp欺骗原理要谈ARP欺骗,首先要说一下arp的运行机制,通常主机发送一个ip包之前,它要到自己的ARP缓存表中寻找是否有目标主机的IP地址,如果找到了,也就知道了目标主机的MAC地址,然后直接发送;如果没有找到,该主机就发送一个ARP广播包目标MAC地址是“FF.FF.FF.FF.FF.FF”,这表示向同一网段内的所有主机发出这样的询问:“xxx.xxx.xxx.xx1的MAC地址是什么?”ip为xxx.xxx.xxx.xx1的主机响应这个广播,应答ARP广播为:“我是xxx.xxx.xxx.xx1,我的mac为xxxxxxxxxx2"这样,主机A就知道了主机B的MAC地址,可以通信了。
同时它还更新了自己的ARP缓存表,下次再向主机B发送信息时,可以直接在ARP缓存表里查找。
ARP缓存表采用了老化机制,在一段时间内如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。
当我们设定一个目标进行ARP欺骗时,也就是设置一主机C捕获主机A发送给主机B 的通信数据包,如果C能够接收到A发送的数据包,那么第一步嗅探成功了。
但是主机A 并没有意识到主机B没有接受到主机A发送的数据包。
假如主机C进行ICMP重定向,那么他可以直接进行整个包的修改,捕获到主机A发送给主机B的数据包,全部进行修改后再转发给主机B,而主机B接收到的数据包完全认为是从主机A发送来的。
这样主机C就完成了ARP欺骗。
中毒现象当某台主机中了这类ARP欺骗的病毒/木马程序后,会不定期发送仿冒的ARP响应数据报文。
这种报文会欺骗所在网段的主机和交换机,让其他用户上网的流量必须经过病毒主机。
arp欺骗实验报告
ARP欺骗实验报告
在网络安全领域,ARP欺骗是一种常见的攻击手段,用于窃取网络通信数据或
者对网络进行破坏。
为了更好地了解ARP欺骗的原理和危害,我们进行了一系
列的ARP欺骗实验。
实验一:ARP欺骗原理
首先,我们对ARP协议进行了深入的研究,了解了ARP欺骗的原理。
ARP协议是用于将IP地址映射到MAC地址的协议,而ARP欺骗则是指攻击者发送虚假
的ARP响应,欺骗目标主机将其通信数据发送到攻击者的机器上,从而实现窃
取数据或者中间人攻击的目的。
实验二:ARP欺骗的危害
在实验中,我们模拟了一次ARP欺骗攻击,并观察了其对网络的影响。
我们发现,一旦发生ARP欺骗,目标主机会将其通信数据发送到攻击者的机器上,导
致数据泄露和网络通信的混乱。
此外,ARP欺骗还可能导致网络中断或者恶意
软件的传播,给网络安全带来严重的威胁。
实验三:防范ARP欺骗的方法
为了防范ARP欺骗攻击,我们测试了一些常见的防御方法,包括静态ARP绑定、ARP监控和网络流量分析等。
我们发现,这些方法可以有效地防止ARP欺骗攻击,保护网络通信的安全和稳定。
总结:ARP欺骗是一种常见的网络攻击手段,具有严重的危害。
通过本次实验,我们更加深入地了解了ARP欺骗的原理和危害,以及防范ARP欺骗的方法,为网络安全的保护提供了重要的参考和指导。
希望我们的实验报告能够对网络安
全研究和实践提供有益的启示。
防止同网段arp攻击典型配置案例华为三康技术有限公司Huawei-3Com Technologies Co., Ltd.版权所有侵权必究All rights reserved修订记录Revision Record1阻止仿冒网关IP的arp攻击 (4)1.1二层交换机 (4)1.1.1配置组网 (4)1.1.2防攻击配置举例 (4)1.2三层交换机 (5)1.2.1配置组网 (5)1.2.2防攻击配置举例 (5)2仿冒他人IP的arp攻击 (6)1 阻止仿冒网关IP的arp攻击1.1 二层交换机1.1.1 配置组网100.1.1.4/24100.1.1.2/24图13552P是三层设备,其中ip:100.1.1.1是所有pc的网关,3552P上的网关mac地址为000f-e200-3999。
PC-B上装有arp攻击软件。
现在需要对3026_A进行一些特殊配置,目的是过滤掉仿冒网关IP的arp报文。
1.1.2 防攻击配置举例对于二层交换机如3026c等支持ACL number为5000到5999的交换机,可以配置acl 来进行报文过滤。
(1)全局配置deny 所有源IP是网关的arp报文(自定义规则)ACL num 5000rule 0 deny 0806 ffff 24 64010101 ffffffff 40rule 1 permit 0806 ffff 24 000fe2003999 ffffffffffff 34rule0目的:把整个3026C_A端口冒充网关的ARP报文禁掉,其中蓝色部分64010101是网关ip地址的16进制表示形式:100.1.1.1=64010101。
rule1目的:把上行口的网关ARP报文允许通过,蓝色部分为网关3552的mac地址000f-e200-3999。
注意配置Rule时的配置顺序,上述配置为先下发后生效的情况。
在S3026C-A系统视图下发acl规则:[S3026C-A]packet-filter user-group 5000这样只有3026C_A上连设备能够下发网关的ARP报文,其它pc就不能发送假冒网关的arp响应报文。
ARP攻击防范与解决方案一、背景介绍ARP(地址解析协议)是在局域网中解决IP地址和MAC地址之间映射关系的协议。
然而,ARP协议的设计缺陷导致了ARP攻击的出现。
ARP攻击是一种常见的网络安全威胁,攻击者通过发送伪造的ARP响应包来篡改网络中的ARP缓存表,从而实现中间人攻击、拒绝服务攻击等恶意行为。
为了保护网络安全,我们需要采取相应的防范与解决方案。
二、防范ARP攻击的措施1. 使用静态ARP表静态ARP表是一种手动配置的ARP表,将IP地址和MAC地址的映射关系固定在ARP表中,可以有效防止ARP缓存污染攻击。
管理员可以根据网络拓扑结构手动添加ARP表项,并定期检查和更新。
2. 使用ARP欺骗检测工具ARP欺骗检测工具可以实时监测网络中的ARP请求和响应,检测是否存在异常的ARP活动。
当检测到ARP欺骗行为时,可以及时发出警报并采取相应的防御措施。
3. 使用静态ARP绑定静态ARP绑定是将特定IP地址和MAC地址的映射关系绑定在ARP表中,使得ARP缓存表中的映射关系不易被篡改。
管理员可以手动配置静态ARP绑定,确保网络中重要主机的ARP映射关系的安全性。
4. 使用网络入侵检测系统(IDS)网络入侵检测系统可以实时监测网络流量,检测是否存在异常的ARP活动。
当检测到ARP攻击行为时,可以自动触发警报,并采取相应的防御措施,如断开与攻击者的连接。
5. 使用虚拟局域网(VLAN)虚拟局域网可以将网络划分为多个逻辑上的独立网络,不同的VLAN之间无法直接通信,从而有效隔离了网络流量,减少了ARP攻击的风险。
三、解决ARP攻击的方法1. 及时更新操作系统和网络设备的补丁厂商会定期发布针对操作系统和网络设备的安全补丁,这些补丁通常包含了对已知漏洞的修复。
及时安装这些补丁可以有效减少ARP攻击的风险。
2. 使用网络流量监测工具网络流量监测工具可以实时监测网络流量,检测是否存在异常的ARP活动。
当检测到ARP攻击行为时,可以及时发出警报并采取相应的解决措施。
A R P欺骗一、A R P欺骗原理:在TCP/IP网络环境下,一个IP数据包到达目的地所经过的网络路径是由路由器根据数据包的目的IP地址查找路由表决定的,但IP地址只是主机在网络层中的地址,要在实际的物理链路上传送数据包,还需要将IP数据包封装到MAC帧后才能发送到网络中。
同一链路上的哪台主机接收这个MAC帧是依据该MAC帧中的目的MAC地址来识别的,即除了同一链路上将网卡置为混杂模式的主机外,只有当某台主机的MAC地址和链路中传输的MAC帧的目的MAC地址相同时,该主机才会接收这个MAC帧并拆封为IP数据包交给上层模块处理。
因此,每一台主机在发送链路层数据帧前都需要知道同一链路上接收方的MAC地址,地址解析协议ARP正是用来进行IP地址到MAC地址的转换的。
同时为了避免不必要的ARP 报文查询,每台主机的操作系统都维护着一个ARP高速缓存ARP Cache,记录着同一链路上其它主机的IP地址到MAC地址的映射关系。
ARP高速缓存通常是动态的,该缓存可以手工添加静态条目,由系统在一定的时间间隔后进行刷新。
ARP协议虽然是一个高效的数据链路层协议,但作为一个局域网协议,它是建立在各主机之间相互信任的基础上的,所以ARP协议存在以下缺陷:ARP高速缓存根据所接收到的ARP协议包随时进行动态更新;ARP协议没有连接的概念,任意主机即使在没有ARP请求的时候也可以做出应答;ARP协议没有认证机制,只要接收到的协议包是有效的,主机就无条件的根据协议包的内容刷新本机ARP缓存,并不检查该协议包的合法性。
因此攻击者可以随时发送虚假ARP包更新被攻击主机上的ARP缓存,进行地址欺骗或拒绝服务攻击。
针对交换机根据目的MAC地址来决定数据包转发端口的特点,ARP欺骗的实现:假设主机C为实施ARP欺骗的攻击者,其目的是截获主机B和主机A之间的通数据,且主机C在实施ARP欺骗前已经预先知道A和B的IP地址。
这时C先发送ARP包获得主机B的MAC地址,然后向B 发送ARP Reply数据包,其中源IP地址为A的IP地址,但是源MAC地址却是主机C的MAC地址。
ARP欺骗/ MITM(Man-In-The-Middle)攻击原理和防范一、MITM(Man-In-The-Middle) 攻击原理按照 ARP 协议的设计,为了减少网络上过多的 ARP 数据通信,一个主机,即使收到的 ARP 应答并非自己请求得到的,它也会将其插入到自己的 ARP 缓存表中,这样,就造成了“ ARP 欺骗”的可能。
如果黑客想探听同一网络中两台主机之间的通信(即使是通过交换机相连),他会分别给这两台主机发送一个 ARP 应答包,让两台主机都“误”认为对方的 MAC 地址是第三方的黑客所在的主机,这样,双方看似“直接”的通信连接,实际上都是通过黑客所在的主机间接进行的。
黑客一方面得到了想要的通信内容,另一方面,只需要更改数据包中的一些信息,成功地做好转发工作即可。
在这种嗅探方式中,黑客所在主机是不需要设置网卡的混杂模式的,因为通信双方的数据包在物理上都是发送给黑客所在的中转主机的。
这里举个例子,假定同一个局域网内,有 3 台主机通过交换机相连:A 主机: IP 地址为 192.168.0.1 , MAC 地址为 01:01:01:01:01:01 ;B 主机: IP 地址为 192.168.0.2 , MAC 地址为 02:02:02:02:02:02 ;C 主机: IP 地址为 192.168.0.3 , MAC 地址为 03:03:03:03:03:03 。
B 主机对 A 和C 进行欺骗的前奏就是发送假的 ARP 应答包,如图所示在收到 B主机发来的ARP应答后,A主机应知道:到 192.168.0.3 的数据包应该发到 MAC 地址为 020********* 的主机; C 主机也知道:到 192.168.0.1 的数据包应该发到 MAC 地址为 020********* 的主机。
这样, A 和 C 都认为对方的 MAC 地址是 020********* ,实际上这就是 B 主机所需得到的结果。
arp欺骗的原理及防范措施一、理论前提本着“不冤枉好人,不放过一个坏人的原则”,先说说我的一些想法和理论依据。
首先,肯定发送ARP欺骗包肯定是一个恶毒的程序自动发送的,正常的TCP/IP网络是不会有这样的错误包发送的。
这就假设,如果犯罪嫌疑人没有启动这个破坏程序的时候,网络环境是正常的,或者说网络的arp环境是正常的,如果我们能在犯罪嫌疑人启动这个犯罪程序的第一时间,一开始就发现了他的犯罪活动,那么就是人赃俱在,不可抵赖了,因为刚才提到,前面网络正常的时候证据是可信和可依靠的。
好,接下来我们谈论如何在第一时间发现他的犯罪活动。
arp欺骗的原理如下:假设这样一个网络,一个Hub接了3台机器HostA HostB HostC 其中A的地址为:IP:192.168.10.1 MAC: AA-AA-AA-AA-AA-AAB的地址为:IP:192.168.10.2 MAC: BB-BB-BB-BB-BB-BBC的地址为:IP:192.168.10.3 MAC: CC-CC-CC-CC-CC-CC正常情况下 C:\arp -aInterface: 192.168.10.1 on Interface 0x1000003Internet Address Physical Address Type192.168.10.3 CC-CC-CC-CC-CC-CC dynamic现在假设HostB开始了罪恶的arp欺骗:B向A发送一个自己伪造的ARP应答,而这个应答中的数据为发送方IP地址是192.168.10.3(C的IP地址),MAC地址是DD-DD-DD-DD-DD-DD(C的MAC 地址本来应该是CC-CC-CC-CC-CC-CC,这里被伪造了)。
当A接收到B伪造的ARP 应答,就会更新本地的arp缓存(A可不知道被伪造了)。
而且A不知道其实是从B发送过来的,A这里只有192.168.10.3(C的IP地址)和无效的DD-DD-DD-DD-DD-DD mac地址,没有和犯罪分子B相关的证据,这样犯罪分子岂不乐死了。
ARP攻击防范与解决方案1. ARP攻击简介ARP(Address Resolution Protocol)攻击是一种局域网中常见的网络安全威胁。
攻击者通过伪造ARP请求或ARP响应,欺骗网络中的主机,使其将数据发送到错误的目的地。
这种攻击方式通常用于进行中间人攻击、网络欺骗和密码窃取等恶意行为。
2. ARP攻击的危害ARP攻击可能导致以下问题:- 网络中的主机无法正常通信,造成网络拥堵。
- 攻击者可以窃取网络中的敏感信息,如用户名、密码等。
- 攻击者可以篡改网络通信内容,引发数据泄露或篡改。
- 网络中的主机可能受到其他攻击,如中间人攻击、DNS欺骗等。
3. ARP攻击的防范与解决方案为了有效防范和解决ARP攻击,我们可以采取以下措施:3.1 加强网络安全意识- 提高员工和用户的网络安全意识,加强对ARP攻击的了解和防范意识。
- 定期组织网络安全培训,教育员工和用户如何识别和应对ARP攻击。
3.2 使用静态ARP表- 配置网络设备的静态ARP表,将IP地址与MAC地址进行绑定,防止ARP欺骗。
- 对于大型网络,可以使用网络入侵检测系统(IDS)来监控和检测ARP攻击。
3.3 使用ARP防火墙- 部署ARP防火墙,对网络中的ARP请求和ARP响应进行监控和过滤,防止伪造的ARP消息进入网络。
- ARP防火墙可以根据预设的策略,对可疑的ARP消息进行拦截或丢弃。
3.4 使用加密通信- 在局域网中,可以使用加密通信协议(如SSL、IPsec等)来保护通信内容的机密性和完整性。
- 加密通信可以有效防止ARP攻击者窃取敏感信息或篡改通信内容。
3.5 监控和检测ARP攻击- 部署网络流量监控系统,实时监测网络中的ARP请求和响应。
- 使用入侵检测系统(IDS)或入侵防御系统(IPS)来检测和阻止ARP攻击。
3.6 更新和维护网络设备- 定期更新和维护网络设备的固件和软件,及时修补已知的安全漏洞。
- 配置网络设备的安全策略,限制不必要的网络访问和权限。
我们以主机a(192.168.1.5)向主机b(192.168.1.1)发送数据为例。
当发送数据时,主机a会在自己的arp缓存表中寻找是否有目标ip地址。
如果找到了,也就知道了目标mac地址,直接把目标mac地址写入帧里面发送就可以了;如果在arp缓存表中没有找到相对应的ip地址,主机a就会在网络上发送一个广播,目标mac地址是“ff.ff.ff.ff.ff.ff”,这表示向同一网段内的所有主机发出这样的询问:“192.168.1.1的mac地址是什么?”网络上其他主机并不响应arp询问,只有主机b接收到这个帧时,才向主机a做出这样的回应:“192.168.1.1的mac地址是00-aa-00-62-c6-09”。
这样,主机a就知道了主机b的mac地址,它就可以向主机b发送信息了。
同时它还更新了自己的arp缓存表,下次再向主机b发送信息时,直接从arp缓存表里查找就可以了。
arp缓存表采用了老化机制,在一段时间内如果表中的某一行没有使用,就会被删除,这样可以大大减少arp缓存表的长度,加快查询速度。
arp攻击就是通过伪造ip地址和mac地址实现arp欺骗,能够在网络中产生大量的arp通信量使网络阻塞,攻击者只要持续不断的发出伪造的arp响应包就能更改目标主机arp缓存中的ip-mac 条目,造成网络中断或中间人攻击。
arp攻击主要是存在于局域网网络中,局域网中若有一个人感染arp木马,则感染该arp木马的系统将会试图通过“arp欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。
从影响网络连接通畅的方式来看,arp欺骗分为二种,一种是对路由器arp表的欺骗;另一种是对内网pc的网关欺骗。
第一种arp欺骗的原理是——截获网关数据。
它通知路由器一系列错误的内网mac地址,并按照一定的频率不断进行,使真实的地址信息无法通过更新保存在路由器中,结果路由器的所有数据只能发送给错误的mac地址,造成正常pc无法收到信息。
ARP欺骗在网络中的应用及防范ARP欺骗在网络中的应用及防范一、ARP协议的内容和工作原理地址解析协议(Address Resolution Protocol,ARP)是在只知道主机IP地址时确定其物理地址的一种协议。
因IPv4、IPv6和以太网的广泛应用,其主要用于将IP地址翻译为以太网的MAC地址,但其也能在ATM和FDDI IP网络中使用。
从IP地址到物理地址的映射有两种方式:表格方式和非表格方式。
ARP具体说来就是将网络层(IP层,也就是相当于OSI的第三层)地址解析为数据连接层(MAC 层,也就是相当于OSI的第二层)的MAC地址。
首先,每台主机都会在自己的ARP缓冲区中建立一个ARP映射表,以表示IP地址和MAC地址的对应关系。
当源主机需要将一个数据包要发送到目的主机时,会首先检查自己ARP列表中是否存在该IP 地址对应的MAC地址,如果有,就直接将数据包发送到这个MAC地址;如果没有,就向本地网段发起一个ARP 请求的广播包,查询此目的主机对应的MAC地址。
此ARP请求数据包里面包括源主机的IP地址、源主机的MAC地址以及目的主机的IP地址、目的MAC地址。
同一网段中所有的主机收到这个ARP请求后,会检查数据包中的目的IP是否和自己的IP地址一致。
如果不相同就丢弃此数据包;如果相同,该主机首先将发送端的MAC地址和IP地址添加到自己的ARP映射表中,如果ARP映射表中已经存在该IP的信息,则将其覆盖,然后以单播的形式给源主机发送一个ARP响应数据包,告诉对方自己是它需要查找的MAC地址;源主机收到这个ARP响应数据包后,将得到目的主机的IP地址和MAC地址并添加到自己的ARP映射表中,并利用此信息开始数据的传输。
如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。
二、ARP协议存在的安全漏洞ARP协议是建立在信任局域网内所有节点的基础上的,它很高效,但却不安全。
其主要漏洞有以下三点:1、主机地址映射表是基于高速缓存、动态更新的,ARP将保存在高速缓存中的每一个映射地址项目都设置了生存时间,它只保存最近的地址对应关系。
ARP欺骗攻击与防范一、ARP欺骗攻击ARP(Address Resolution Protocol,地址解析协议)是局域网中用来进行地址解析的协议,它将IP地址映射到MAC地址。
图1所示为ARP地址解析的过程。
当PC1要给PC2发送报文时,它先检查本地的ARP缓存,如果没有查找到PC2的MAC地址,则向网络中发送一个广播的ARP(ARP Request)请求报文,表示要请求解析PC2(172.16.1.2)的MAC地址,并且此报文的目的MAC地址为广播地址FFFF.FFFF.FFFF。
由于ARP请求报文是广播报文,网络中所有的设备都会接收到,但只有IP地址与ARP请求报文中被请求解析的IP地址相同的设备才会回复。
图中由于PC2的IP地址就是PC1要请求的对象,PC2将回复一个单播的ARP应答(ARP Reply)报文,表示自己(172.16.1.2)的MAC 地址是0002.0002.0002,报文的目的MAC地址为PC1的MAC地址(0001.0001.0001),也就是说,只有PC1会收到此应答。
当PC1收到ARP 应答报文后,它便获知了PC2的MAC地址,并将此条目加入到ARP缓存表中,用于后续的数据发送。
由于ARP当初被开发时,没有考虑到安全的因素,不存在任何的验证机制,所以就导致了ARP报文很容易伪造,也就是被欺骗。
另一方面,发送ARP请求的设备并不能判断收到的ARP应答是否合法,是否为正确的源所发送的,只要它接收到ARP应答报文,它就将结果放入ARP表中,而不管是否之前已经存在此条目,或者与之前存在的条目不一样,这就给攻击者可趁之机。
利用以上这些缺陷,攻击者就可以通过发送伪造(欺骗)的ARP应答报文(应答报文中的IP与MAC的绑定关系是错误的、伪造的)来更新其他设备的ARP缓存,导致其他设备之间不能正常进行通信。
图2所示就是一个典型的ARP攻击。
用户PC的IP地址为172.16.1.2,网管出口的路由器地址为172.16.1.1,所有PC要发往外部网络的数据都要通过网关。
校园网中的ARP欺骗的分析与防御研究一、什么是ARP协议要想了解ARP欺骗攻击的原理,首先就要了解什么是ARP协议。
ARP是地址转换协议的英文缩写,它是一个链路层协议,工作在OSI模型的第二层,在本层和硬件接口间进行联系,同时为上层(网络层)提供服务。
我们知道,二层的以太网交换设备并不能识别32位的IP地址,它们是以48位以太网地址(就是我们常说的MAC地址)传输以太网数据包的。
因此IP地址与MAC地址之间就必须存在一种对应关系,而ARP协议就是用来确定这种对应关系的协议。
ARP工作时,首先请求主机发送出一个含有所希望到达的IP地址的以太网广播数据包,然后目标IP的所有者会以一个含有IP和MAC地址对的数据包应答请求主机。
这样请求主机就能获得要到达的IP地址对应的MAC地址,同时请求主机会将这个地址对放入自己的ARP表缓存起来,以节约不必要的ARP通信。
ARP 缓存表采用了老化机制,在一段时间内如果表中的某一行没有使用(Windows系统这个时间为2分钟,而Cisco路由器的这个时间为5分钟),就会被删除。
通过下面的例子我们可以很清楚地看出ARP的工作机制。
假定有如下五个IP地址的主机或者网络设备,它们分别是:主机A 192.168.1.2主机B 192.168.1.3网关C 192.168.1.1主机D 10.1.1.2网关E 10.1.1.1假如主机A要与主机B通信,它首先会检查自己的ARP缓存中是否有192.168.1.3这个地址对应的MAC地址,如果没有它就会向局域网的广播地址发送ARP请求包,大致的意思是192.168.1.3的MAC地址是什么请告诉192.168.1.2,而广播地址会把这个请求包广播给局域网内的所有主机,但是只有192.168.1.3这台主机才会响应这个请求包,它会回应192.168.1.2一个ARP 包,大致的意思是192.168.1.3的MAC地址是02-02-02-02-02-02。