畸形免费ARP引起的网络故障(推测)
故障描述:某工厂无线网络每隔一段时间莫名其妙的慢,大量丢包,抖动延时。
查看日志,大量的显示如下(截取部分):
事件类型:问题,AP名称:一楼房间西9722,AP序列号:****,描述:广播组播高
事件类型:问题,AP名称:一楼房间西9722,AP序列号:****,描述:广播组播高
.........
先抓包看看,满满的都是:

几十万包都是这个
ARP包占据总流量的60%左右,不知道为啥192.168.10.109总是很执着的要找192.168.10.162。排查下来192.168.10.109是瘦AP的IP地址,正在排查192.168.10.162过程中(最终也没找到),ARP包忽然消失了,网络又逐步恢复正常。
工作人员说:就是这样,反反复复,待会还会出问题。
因此继续抓包分析,希望能抓到引发192.168.10.109频繁找192.168.10.162的缘由,经过10多分钟抓包等待,终于又开始了,仔细去分析引发缘由,发现了192.168.10.162发布了很多免费ARP,这有些不正常。
引发大量ARP前,192.168.10.162发送了一些免费ARP
192.168.10.162发出的免费ARP包
Frame 181975: 60 bytes on wire (480 bits), 60 bytes captured (480 bits) on interface \Device\NPF_{203F514E-7FBC-4C9F-BD82-494E0345B94E}, id 0
Ethernet II, Src: d6:3a:50:3f:80:66, Dst: ff:ff:ff:ff:ff:ff
Destination: ff:ff:ff:ff:ff:ff
Source: d6:3a:50:3f:80:66
Type: ARP (0x0806)
Padding: 000000000000000000000000000000000000
Address Resolution Protocol (reply/gratuitous ARP)
Hardware type: Ethernet (1)
Protocol type: IPv4 (0x0800)
Hardware size: 6
Protocol size: 4
Opcode: reply (2)
[Is gratuitous: True]
Sender MAC address: d6:3a:50:3f:80:66
Sender IP address: 192.168.10.162
Target MAC address: ff:ff:ff:ff:ff:ff
Target IP address: 192.168.10.162
分析这个免费ARP包
该数据包是一个免费ARP回复包(Opcode: =2 reply),但存在以下异常特征:
目标MAC地址设置为广播地址(ff:ff:ff:ff:ff:ff)
正常情况下,ARP回复包(Reply)应直接发送给请求方(单播),目标MAC地址应为全零(00:00:00:00:00:00),而非广播(ff:ff:ff:ff:ff:ff)。
目标MAC地址为广播地址,可能导致以下问题:
所有设备都会接收并处理该ARP包,引发不必要的网络流量。
可能导致其他设备错误更新ARP缓存,引发网络混乱。
猜测可能原因:
设备配置错误:设备错误地将Gratuitous ARP的目标MAC设置为广播地址。
协议实现缺陷:设备驱动或固件未遵循RFC标准(如RFC 5227),错误使用广播地址。
恶意攻击:攻击者伪造Gratuitous ARP广播,进行ARP欺骗(如中间人攻击)。
后面继续排查下来(查看AC AP日志记录+持续几次抓包分析)发现出问题的总是特定的一个型号的AP(IP是192.168.0.109)设备,其他型号AP则一切正常。另外还发现网内频繁存在一些网络IP冲突的问题。
最后推测
1、AP设备可能有问题,可能是畸形的免费ARP触发了它的一些机制,让其不断的发出ARP包去找寻192.168.10.162
2、网内存在病毒(192.168.10.162),正常设备一般不会发出这样畸形的免费ARP包
3、IP地址规划不好,IP冲突引起一些混乱。
最后:工厂网络管理较为混乱,网络接入随意,也没有完善网络安全设置(很多电脑上连杀毒软件都没有)。排查病毒、规划网络等情况恐怕需要很长时间(几十个AP连vlan都没有),因此先让其关闭有问题的AP试试看。几天过去,故障一直没有再出,而排查病毒、规划网络也不了了之。