ARP协议

ARP协议


广播与广播域概述

广播:将广播地址作为目的地址的数据帧

广播域:网络中能接收到同一个广播的所有节点的集合(越小越好)

MAC广播地址:FF-FF-FF-FF-FF-FF

IP广播地址:主机位全为255,即可作为该网段的广播地址,如192.168.255.255/16


概念

ARP(Address Resolution Protocol ):地址解析协议

将一个已知的IP地址解析成MAC地址


ARP缓存表

ARP缓存表内容:

  1. IP地址:目标的IP地址
  2. MAC地址:目标的MAC地址

老化时间:该记录在ARP缓存表中的保留时间,默认300秒(可修改)(类似于MAC地址表)

老化时间是动态ARP缓存表的,有静态ARP缓存表可手工配置,不会老化。

注:重启后,MAC地址表和ARP缓存表都会清空,开机后重新学习。


ARP报文内容:

我是10.1.1.1 我的MAC:AA

谁是10.1.1.2 你的MAC:?(等待目标填写)


工作过程

pc1想和pc2通信,但pc1不知道pc2的MAC地址,此时pc1会向外发送一个ARP广播请求,帧头的目标MAC地址为MAC广播地址(FF-FF-FF-FF-FF-FF),交换机1收到ARP广播请求包,会查看ARP请求包帧头中的目标MAC地址,发现是广播地址,就泛洪(交换机的工作过程省略:参考),数据帧到达pc2,pc2解封装,发现是ARP请求报文请求自己的MAC地址,先查看自己的ARP缓存表是否有pc1的ARP缓存,没有的话将pc1的相关内容记录到自己的ARP缓存表中,然后填写完整ARP请求报文,并给该报文封装一个有明确的目标MAC地址(pc1的MAC地址)的帧头,pc2进行ARP单播应答,将数据帧送到交换机1,交换机转发该数据帧到pc1,pc1解封装后成功获得目标MAC地址。

tips:同一网段,直接ARP请求目标MAC地址

不同网段:请求网关的MAC地址

路由器之间的原理类似。


注:

  1. ARP缓存表会将最后一次接收到的ARP广播请求覆盖ARP缓存表中的记录
  2. ARP协议没有验证机制
  3. 路由器不会路由ARP协议的包,下面的攻击欺骗只能用于同一网段中

ARP攻击

作用:使网络无法正常通信(断网)

攻击者不断向外(或者特定对象)发送虚假的ARP报文(MAC地址是伪造的,IP地址是受害者1的),受害者2接收到ARP报文时,会更新自己的ARP缓存表(不断向外发送可以保证自己的ARP记录不会被正主(受害者1)给重新覆盖)。此时,如果将IP地址设置为网关的IP地址,那么受害者的信息就无法通过路由器路由到其他地方。(个人想法:伪造一堆虚假ARP报文发送出去,就该网段就不仅仅只是不能和外界通信,内部也无法通信。)


ARP欺骗

作用:监听、窃取、篡改、控制流量(截获数据),但不中断通信

攻击者向特定对象发送虚假的ARP报文(IP地址是受害者的,但MAC地址是自己的),形成以下关系:

DD向A发送的ARP应答报文目标IP是10.1.1.2,对应MAC是DD,向BB发送类似ARP应答报文,这样当A向B发送的信息通过交换机到了中间人手中,中间人一顿操作后,又将该信息封装后发送给BB。

我觉得也可以广播虚假的ARP报文(所有的IP地址的报文都搞个,MAC地址是自己),这样整个网段的通信都被自己给监听了。但超容易被发现


ARP防御

1、静态ARP绑定
手工绑定/双向绑定(通信双方都得绑定)

Windows客户机上:

arp -a    #显示arp缓存表
arp -d    #清除arp缓存表,包括静态绑定
arp -s IP地址 MAC地址   #设置静态绑定

arp -s 10.1.1.254 00-20-2c-a0-e1-o9


2、ARP防火墙
自动绑定静态ARP

主动防御

防火墙开机绑定正确网关(用于用户对网关),防火墙使用ARP攻击类似原理,不断向网关发送正确ARP报文(用于网关对用户)。


3、硬件级ARP防御
交换机支持”端口“做动态ARP绑定(配合DHCP服务器)或做静态ARP绑定

动态ARP绑定:在做DHCP请求IP地址时,给请求的端口绑定对应的IP地址和MAC地址,当该接口向外发送ARP报文时,会被检查,不一样会被干掉。

静态ARP绑定:将该端口绑定固定的MAC地址


posted @ 2023-08-09 16:54  ^cyi^  阅读(58)  评论(0编辑  收藏  举报