网络知识之ARP

ARP协议

一、基础知识

1、基本概念

ARP协议是地址解析协议(Address Resolution Protocol),其作用是根据目的主机的IP地址获取到目的MAC地址,在TCP/IP模型中属于IP层(网络层),在OSI模型中属于链路层。

数据在传输的时候是以数据帧的形式传送的,数据帧被网卡解析成电信号或者光信号传递到对端。而数据帧中是包含源MAC地址和目的MAC地址的,如果发送者只知道目的主机的IP地址,不知道目的主机的MAC地址,就不能把这个数据包转换成数据帧发走,ARP协议就是负责地址解析的,根据目的主机的IP地址获取到目的MAC地址。

如果发送者和接收者在同一局域网中,ARP解析的就是接收者的MAC地址,如果发送者和接收者不再同一局域网中,那么ARP解析的就是这个局域网内网关的接口MAC地址。

2、工作原理

image-20230613152417236

(1)局域网内通信

假设PC1想与PC3通信,那么需要知道PC3MAC地址,则会发送一个ARP广播请求报文,该报文所表达的核心内容可以理解为:“我的IP地址是IP1,MAC地址是MAC1,谁的IP地址是IP3,你的MAC地址是多少?”PC1的网卡将这个ARP广播请求报文添加一个帧头,源MAC是PC1的MAC地址,目的MAC是FF-FF-FF-FF-FF-FF(意思是广播),交换机收到这个ARP广播请求报文后,发现目的MAC地址是12个F,那么就会向广播域里的所有主机发送这个报文,PC2发现并不是找自己的,不会予以答复,而IP地址为IP3PC3接收到这个ARP广播请求报文后,会发送一个ARP单播应答报文,单独发送给PC1PC1接收这个报文后就得知了PC3的MAC地址,并加入到ARP缓存表中。

(2)跨局域网通信

假如PC1想与PC5通信,那么需要知道PC5的MAC地址,但是PC1PC5并不在同一个局域网中,二者处于不同的广播域内,那么这种情况就需要中间设备(路由器)进行代理ARP。PC1依旧会发送一个ARP广播请求报文,该报文所表达的核心内容可以理解为:“我的IP地址为IP1,MAC地址是MAC1,谁是网关,你的MAC地址是多少?”路由器R1会回应一个ARP单播应答报文,来告诉PC1网关的MAC地址为MAC8,在PC1接收到单播应答报文后,会重新封装数据帧(IP1,IP5,MAC1,MAC8),再次发送给路由器R1,路由器收到后再次进行封装,发送广播报文(IP1,IP5,MAC9,FF-FF-FF-FF-FF-FF)注意:因为路由器默认是不转发广播报文的,所以当路由器收到ARP请求时,它将启动代理ARP服务,将发送广播ARP报文),PC5单播响应,路由器收到PC5的单播响应报文后就知道了PC5的MAC地址,再单播给PC1,那么PC1就知道PC5的MAC地址了。

3、注意事项

(1)ARP协议是一个内网协议,即:局域网内使用的协议,因为ARP协议在工作过程中涉及到了发送ARP广播报文,而路由器是隔离广播域的,所以在同一个局域网中发送的ARP广播报文,外网是收不到的,因此该协议是一个内网协议。

(2)交换机无法隔离广播域,路由器可以隔离广播域。(通过路由器来隔离广播域的方式属于物理隔离)

4、相关命令

Windows系统:

arp -a   //查看ARP缓存表
arp -d   //清除ARP缓存
arp -s   //ARP绑定

二、相关攻击

1、ARP攻击

ARP攻击是通过伪造虚假的ARP报文和虚假的MAC地址,从而中断通信或者断网。

攻击主机可以制造假的ARP应答报文,报文中包含了假的MAC地址,比如PC1在与PC3的通信过程中,PC3反馈给了PC1正确的MAC地址后,PC1会更新自己的ARP缓存表,但是ARP协议遵循着后到后得的原则,即:不像DHCP一样以第一个到的报文作为标准,而是以最后到的为标准,因此如果攻击者构造了假的ARP应答报文,就会导致存放了正确MAC地址的ARP缓存信息被替换成假的MAC地址,这样PC1就永远都找不到PC3,从而导致通信终端;如果目标地址不在同一局域网里,那么就会造成断网。

2、ARP泛洪攻击

设备处理ARP报文和维护ARP表项都需要消耗系统资源,同时为了满足ARP表项查询效率的要求,一般设备都会对ARP表项规模有规格限制。攻击者就利用这一点,通过伪造大量源IP地址变化的ARP报文,使得设备ARP表资源被无效的ARP条目耗尽,合法用户的ARP报文不能继续生成ARP条目,导致正常通信中断。

3、ARP欺骗

在ARP攻击的基础上,如果攻击者伪造的ARP报文中,MAC地址并不是伪造的,而是自己的MAC地址,那么就会实现ARP欺骗,即:两台主机之间的通信流量都会经过攻击者这个中介,因此ARP欺骗的结果并不是造成通信的中断或者断网,而是监听、窃取、篡改、控制流量。

三、防护方法

1、ARP静态绑定

2、ARP防火墙和相关安全软件

3、动态ARP检测

posted @ 2023-06-13 16:55  6小1  阅读(119)  评论(0编辑  收藏  举报