ARP协议,地址解析协议 。是将IP地址与MAC地址对应起来,属于数据链路层协议。 1、ARP的数据包可分为两种: 请求包(广播): 源IP:本机的IP 目标IP:目标主机的IP 源MAC:本机的AMC 目标MAC:全F 应答包(单播) 源IP:本机的IP 目标IP:目标主机的IP 源MAC:本机的AMC 目标MAC:目标主机MAC 2、通信方式 局域网内通信: 主机A和主机B的通信过程: (1)主机A首先检查自己的缓存列表中有没有主机B的IP与其MAC的对应关系,有的话,直接进行通信;如果没有,就在局域网内广播发送一个arp的请求包,其中包括主机A的IP和MAC,主机B的IP。 (2)局域网内的所有设备都会收到这个请求包,收到后与自己的IP对比一下 ,如果是自己的,就发送一个响应包,包括主机A的IP和MAC、主机B的IP和MAC。 局域网间的通信: 与上面的过程类似,但是主机A要首先和网关进行通信,再和主机B进行通信。
1、原理: 主机在接收到一个应答包后,不会验证是否是自己是否发送过对应的ARP请求包,也不会验证这个ARP请求包是否可信,而是直接使用应答包里IP地址对应的MAC地址的对应关系替换掉arp缓存列表里原有的对应关系 。 2、过程: 攻击者(主机B)向网关发送一个应答包,包括主机A的IP地址、主机B的MAC地址。同时,也向主机A发送一个应答包,包括网关C的IP地址 ,主机B的MAC地址。 这个时候,网关C就会将缓存列表中A的MAC地址换成主机B的MAc地址 ;而主机A就会将缓存列表网关C的AMC地址转化成攻击者B的MAc地址。 所以,网关C发送给主机A的消息会被主机B接收,然后再由攻击者B转给主机A;主机A发送给网关C的消息也会被攻击者B接收,再转发给网关。相当于,攻击者B成为了主机A和网关C通信的“中间者”。
检测: 1、网络频繁掉线 2、网速变慢 3、在主机上使用arp -a命令查看网关MAC与真实的网关MAC地址不同 4、使用嗅探软件会发现局域网内存在大量的ARP嗅探包 防御: 由于ARP没有任何验证机制,就需要围绕着一个信任名单来做防御机制 。 1、绑定MAc地址 在交换机上将MAC地址与端口进行绑定,防止ARP的欺骗。 2、使用静态ARP缓存列表,也可以通过软阿金来构建信任ARP表项,把非信任的ARP包丢弃掉。 arp -s 192.168.150.100 00-aa-00-62-c6-09 //在主机上添加ARP静态表项。 3、通过交换机来做arp防御技术,可以做到用户无感知。 1)DAI:[sw1]dynamic arp inspection //开启动态ARP检测技术 [sw1-GigabitEthernet0/0/1]arp anti-attack check user-bind enable //在接口视图下,使能动态ARP检测功能(即对ARP报文进行绑定表项检查功能),缺省情况下,默认没有开启。 2)所谓的动态检测,就是收集信息,构建一个基于MAC-IP-PORT-VLAN的关系映射表,然后检查各个端口发出的ARP报文,把ARP 报文中记录的MAC与IP映射和它构架的映射表去做对比,如果对比失败,则丢弃该ARP报文。 3)动态检测收集信息的方式主要有两种: ①通过DHCP Snooping技术收集DHCP Snooping bind表。当主机发送DHCP请求的时候,DHCP ACK包中的MAC-IP对应关系会被记录在交换机上。 ②人工构建映射表 [sw1]arp static 192.168.150.1 0543-AF9D-0022 vid 2 interface GigabitEthernet 0/0/1 //ip+mac+vlan+port 4)配置ARP Snooping表项固化功能 在设备上配置ARP Snooping表项固化功能,一旦设备学习到某一个arp Snooping表项,便不再允许用户更新次arp Snooping表项或只允许更新此表项部分内容。 [sw1]arp {snooping} anti-attack entry-check {fixed-mac|fixed-all|send-ack} enable //使能arp Snooping表项固化功能,缺省情况下,arpSnooping表项固化功能处于未使能状态。 接口视图下执行命令arp anti-attack check user-bind alarm enable,使能动态ARP检测丢弃报文功能。缺省情况下,没有开启此功能。 5)限制ARP的发包数量 [sw1]arp speed-linmit source-ip 192.168.150.100 maximum 10 //限制源ip发送arp包的数量 [sw1]arp speed-linmit source-mac 5489-9851-7FF8 maximum 10 //限制源mac发送arp包的数量 [sw1]arp anti-attack rate limit enable //开启arp限速功能,针对所有从该交换机进入的arp包 [sw1]arp anti-attack rate-limit 2 1 //设置arp限速的阈值(此处为隔1s发送2个arp包) [sw1-GigabitEthernet0/0/1]arp Snooping anti-attack check enable //接口下开启arp Snooping检查功能 6)DAI功能常常粗腰启用的配置 限制ARP包的数量 启用ARP的DAI 配合信任网关接口 4、使用ARP服务器,通过服务器来查找ARP的转发表来相应其他机器的广播包。 5、使用ARP欺骗防护软件
1、使同一网段上的其他用户无法上网 2、可以嗅探到交换机局域网中的所有数据包 3、对信息就行篡改 4、可以控制局域网内的任何主机
详见HCIE(1)——ARP欺骗模拟实验 https://blog.csdn.net/qq_45782298/article/details/109191863