ARP讲解(免费ARP、ARP代理、ARP攻击)

ARP讲解(免费ARP、ARP代理、ARP攻击)目录 普通 ARP 与免费 ARP ARP 的基本概念 ARP 缓存表 普通 ARP 报文讲解 免费 ARP 报文讲解 ARP 代理讲解 ARP 代理类型 路由式 ARP 案例分析 场景介绍 路由器没有开启 ARP 代理的情况 PC9 无法与 PC10 通信 路由器开启 ARP 代理的情况 PC9 与 PC10 可以通信

大家好,我是讯享网,很高兴认识大家。

目录

普通ARP与免费ARP

ARP的基本概念

ARP缓存表

普通ARP报文讲解

免费ARP报文讲解

ARP代理讲解

ARP代理类型

路由式ARP案例分析

场景介绍

路由器没有开启ARP代理的情况(PC9无法与PC10通信)

路由器开启ARP代理的情况(PC9与PC10可以通信)

ARP攻击

ARP欺骗攻击 

ARP泛洪攻击

ARP中间人攻击


普通ARP与免费ARP

ARP(Address resolution protocol)地址解析协议

ARP的基本概念

ARP的分类

ARP主要分为普通的ARP、免费ARP和代理ARP(此处主要介绍普通ARP和免费ARP)

普通ARP和免费ARP的作用

1、通过ARP的请求和应答报文,可以根据目的IP地址来解析其对应的MAC地址

2、发送免费ARP请求,可以探测本机的IP地址在广播域内是否冲突、告知其他网络节点自己的IP地址和MAC地址、更新其他网络节点的ARP缓存表

ARP报文中涉及的全0-MAC地址和全F-MAC地址

全F为数据链路层封装的MAC,表示二层广播发送(免费ARP应答的Target MAC也为全F,表示该目的IP对应的MAC为非未知的)

全0为ARP请求报文的Target MAC封住的,表示目的MAC未知

ARP缓存表

用于缓存IP地址和MAC地址的映射关系,动态获取到的ARP条目老化时间为20分钟,1200s


讯享网

 ARP缓存表和MAC地址表的区别

ARP缓存表缓存的是IP地址和MAC地址之间的关系;MAC地址表缓存的是端口和MAC地址之间的关系

ARP缓存表主要用于自身进行数据转发;MAC地址表用来指导别人进行数据转发

动态ARP老化时间1200s;动态MAC地址老化时间300s

普通ARP报文讲解

什么情况下发送ARP

当主机去访问其它主机时,需要二层封装MAC地址,如果此时本地的ARP缓存表没有目标主机相应的MAC地址,就需要发送ARP报文进行请求

通过案例介绍ARP流程以及ARP的报文结构

案例场景

PC1发送ARP请求(此处ARP报文的Target MAC显示错误,应该为全0)

数据链路层:源MAC为自己PC1的MAC地址,目的MAC为广播MAC
ARP报文:Sender IP为自己PC1的IP地址,Sender MAC为自己PC1的MAC地址
                 Target IP为目的PC2的IP地址,Target MAC为全0(表示该MAC地址未知)

PC2收到后发送ARP应答

数据链路层:源MAC为自己PC2的MAC地址,目的MAC为PC1的MAC
ARP报文:Sender IP为自己PC2的IP地址,Sender MAC为自己PC2的MAC地址
                  Target IP为目的PC1的IP地址,Target MAC为目的PC1的MAC地址

免费ARP报文讲解

什么时候发送免费ARP

1、当设备端口配置IP地址时,都会连续发送三次免费ARP来判断自己所配地址在广播域内是否冲突(如果没有收到免费ARP应答,则表示此地址不冲突)

2、VRRP协议的主设备也会发送免费ARP把报文

免费ARP请求和应答的特点

免费ARP请求也是ARP请求的一种,不同的是免费ARP的发送者和接收者IP地址都是自己

免费的ARP应答也是ARP应答的一种,不同的是免费ARP的发送者和接收者IP地址都是自己,并且接收者的MAC地址为全1

通过案例介绍免费ARP流程以及免费ARP的报文结构

案例场景

PC1发送免费ARP请求

数据链路层:源MAC为自己PC1的MAC地址,目的MAC为广播MAC
ARP报文:Sender IP和Target IP都为自己PC1的IP地址
    Sender MAC为自己PC1的MAC地址,Target MAC为全0(表示该MAC地址未知)

PC2发送免费ARP应答(告知此IP地址已经被自己使用)

数据链路层:源MAC为自己PC2的MAC地址,目的MAC为广播MAC
ARP报文:Sender IP和Target IP都为自己PC2的IP地址
                 Sender MAC为自己PC2的MAC地址,Target MAC为全F


ARP代理讲解

ARP代理类型

代理ARP场景下,设备通过ARP请求获得的MAC地址为ARP代理设备的MAC地址(不是目的IP对应的真实物理地址)

路由式ARP代理(常说的ARP代理就是此类型的)

应用场景

如果ARP请求是从一个网段的主机发往同一网段但不再同一物理网络上(被隔离)的主机,那么连接这两个网络的具有ARP代理功能的设备就会回应该ARP请求,这个过程称为ARP代理

即:需要互通的主机在路由器视角下为不同网段,但是主机两端都互相认为对方为同网段

代理设备代理回应ARP请求的条件

开启ARP代理功能

本地有去往目的IP的路由表

收到该ARP请求的接口与路由表下一跳不是同一个接口

Vlan内ARP代理  

应用场景

需要互通的主机处于相同网段,并属于相同Vlan,但是Vlan内配置了端口隔离的场景

Vlan间ARP代理——后续在Super-Vlan讲解

应用场景

需要互通的主机处于相同网段,但是属于不同Vlan的场景(也就是Super-Vlan场景)

Super Vlan理论讲解与实验配置-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/m0_/article/details/?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%%22%2C%22source%22%3A%22m0_%22%7D

路由式ARP案例分析

场景介绍

PC9 ping PC10的通信过程

PC9和PC10不需要配置网关(因为对于这两台设备而言,其互访是同网段互访)

但是AR1认为PC9和PC10为不同网段

路由器没有开启ARP代理的情况(PC9无法与PC10通信)

PC9去访问PC10,发现目的IP与自己为同一网段,此时查看ARP表项,发现没有关于此目的IP的MAC地址;

此时PC9发送的ARP请求广播到达AR1的G0/0/0口之后,无法送达到G0/0/1口(路由器不同接口为不同广播域);

此时PC9和PC10无法通信

路由器开启ARP代理的情况(PC9与PC10可以通信)

第一阶段:PC**习到PC10的MAC

PC9去访问PC10,发现目的IP与自己为同一网段,此时查看ARP表项,发现没有关于此目的IP的MAC地址;

PC9发送的ARP请求广播到达AR1的G0/0/0口之后,AR1发现接收此报文的接口开启了ARP代理,并且自己有关于该报文目的IP的路由,则此时AR1代替PC10向PC9发送ARP应答报文;PC9收到该应答后建立关于PC10-IP地址的ARP映射;AR1建立关于PC9的映射

具体信息

数据链路层:源MAC为PC9的MAC地址、目的MAC为广播全F

ARP层:Send-IP为PC9的IP地址,Target-IP为PC10的IP地址

              Send-mac为PC9的MAC地址,Target-mac为全0

具体信息

数据链路层:源MAC为G0/0/0的MAC地址、目的MAC为PC9的MAC地址

ARP层:Send-IP为PC10的IP地址,Target-IP为PC9的IP地址

              Send-mac为G/0/0的MAC地址,Target-mac为PC9的MAC地址

具体信息

IP:192.168.2.1   MAC:G0/0/0的MAC地址    

第二阶段:AR1学习PC10的MAC、PC10学习到AR1的MAC

虽然PC之间认为两者为同网段,但是AR1认为PC9和PC10为不同网段,当PC9和PC10进行交互时自身需要重新封装MAC地址,但是此时没有关于PC10的MAC地址映射;因此AR1需要通过自己的地址去请求PC10的MAC地址(向PC10发送ARP请求);

PC10收到后建立关于AR1-G0/0/1地址的ARP映射,并回应ARP应答给AR1;此时AR1建立关于PC10的映射

具体信息

数据链路层:源MAC为G0/0/1的MAC地址,目的MAC为全FF

ARP层:Send-IP为G0/0/1的IP地址,Target-IP为PC10的IP地址

              Send-mac为G/0/1的MAC地址,Target-mac为全0

具体信息

数据链路层:源MAC为PC10的MAC地址,目的MAC为G0/0/1的MAC地址

ARP层:Send-IP为PC10的IP地址,Target-IP为G0/0/1的IP地址

Send-mac为PC10的MAC地址,Target-mac为G/0/1的MAC地址

具体信息

IP:192.168.2.254   MAC:G0/0/1的MAC地址

第三阶段:PC10学习到PC9的MAC

在AR1去请求PC10的MAC地址的同时(即PC9建立PC10的ARP映射表后),PC9就封装ICMP报文发送给PC10;

当报文到达AR1后,AR1发现目MAC为自己,并且目的IP存在于路由表中;于是AR1将此PC9传递过来的报文重新封装发给PC10(AR1通过第二阶段获得了PC10的MAC)

PC10收到ICMP报文后,需要进行回应;回应时PC10发现PC9为自己同网段地址,但是自身没有关于PC9的ARP映射,则此时PC9发送ARP请求报文

PC10发送的ARP请求广播到达AR1的G0/0/1口之后,AR1发现自己接收此报文的接口有关于该报文目的IP的路由,则此时AR1代替PC9向PC10发送ARP应答报文;

PC10收到该应答后建立关于PC9-IP地址的ARP映射

具体信息

数据链路层:源MAC为PC10的MAC地址,目的MAC为全F

ARP层:Send-IP为PC10的IP地址,Target-IP为PC9

Send-mac为PC10的MAC地址,Target-mac为全0

具体信息

数据链路层:源MAC为G0/0/1的MAC地址、目的MAC为PC10的MAC地址

ARP层:Send-IP为PC9的IP地址,Target-IP为PC10的IP地址

Send-mac为G/0/1的MAC地址,Target-mac为PC10的MAC地址

具体信息

IP:192.168.1.1  MAC:G0/0/1的MAC地址

此时PC9和PC10就可以完成通信


ARP攻击

ARP欺骗攻击 

ARP协议的缺陷
1、设备不对收到的ARP请求检验,就将报文中相应的MAC地址和IP地址建立映射
2、设备发送ARP请求后,对于收到的ARP响应不做校验,将报文中相应的MAC地址和IP地址建立映射
3、设备发送ARP请求广播包,整个网络都收到该报文

针对ARP协议的缺陷诞生出ARP欺骗攻击

ARP欺骗的目的(造成的影响)

信息监听与转发、信息拦截、信息篡改

ARP欺骗的具体原理
1、ARP伪造同网段其他主机(欺骗主机)

  • 设备1去请求设备2的MAC地址,发送ARP广播,设备3伪造设备2的应答包发送给设备1(伪造包的源IP为设备2的地址、源MAC为设备3的MAC);此时设备1对应设备2 IP地址的MAC地址就是设备3
  • 但是如果此时设备1收到设备2发来的ARP应答包,就会更新ARP表项(此时ARP表项就变为正确的ARP表项了)
  • 但是如果设备3一直发送伪造的ARP应答,就可以保证设备1的ARP表项关于设备2 IP地址对应的MAC大部分时间都是设备2的;此时设备1发送给设备2的消息都发送给了设备3

2、ARP伪造网关(欺骗网关)

  • PC2向PC1发送伪造的ARP应答(源IP为网关,MAC地址为伪造设备),PC1发给网关的数据就被PC2窃取,然后PC2将信息篡改发送给真正的网关

ARP欺骗的解决方式
    静态配置ARP表项
    在交换机上做IP和MAC地址绑定(检验正确的数据包才可以通过)
    划分Vlan(只是减少ARP欺骗的范围)

ARP泛洪攻击

发送大量ARP请求/应答报文,使得设备的ARP表溢出,CPU负荷过重,造成设备难以响应正常服务(限制接口学习数量、静态配置ARP表项等)

ARP中间人攻击

中间人攻击就是同时欺骗局域网内的主机和主机的网关(通过发送假的ARP报文将主机/用户的IP地址与自己的MAC绑定),使得主机和网关的数据都会发送给同一个攻击者, 进行信息的篡改和泄露

具体流程为:客户端数据包经过中间人,再由中间人转发给服务器

ARP中间人攻击其实也就是利用ARP进行欺骗,所以也可以通过防范ARP欺骗的方法来防范ARP中间人攻击

小讯
上一篇 2025-03-22 20:42
下一篇 2025-04-07 11:11

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/39445.html