ARP 表异常是什么
ARP 表异常增长有三个典型信号:条目数量飙涨、同一 IP 对应的 MAC 频繁变化、网关 MAC 突然改变。先别急着定性为 ARP 欺骗——MAC 变化也可能是合法的 VIP 漂移(VRRP/Keepalived 主备切换);条目暴涨则可能是大二层环路、地址扫描或配置错误导致的广播放大。区分原因之后再谈处置,方向完全不同。
基本信息
| 适用平台 | Linux(ip neigh)与交换机(MAC 地址表) |
|---|---|
| 观察入口 | ip neigh、/proc/sys/net/ipv4/neigh/*/gc_thresh3、tcpdump arp |
| 常见成因 | 二层环路、地址扫描、ARP 欺骗、VIP 漂移、子网掩码配置错误 |
| 关键纪律 | 先确认架构与设计,再定性为攻击 |
典型使用场景
- 网络突然变慢伴随广播量上升:确认是否存在大二层环路
- 网关地址间歇性不通:判断是否为 VRRP 主备切换造成的 MAC 变化
- 怀疑地址扫描:观察 ARP 请求的来源是否集中、目标是否遍历整个网段
- ARP 表容量告警:确认表项是否接近内核上限并评估回收行为
- 安全事件响应:区分真实欺骗与正常冗余机制
观察与计数
观察与计数
# 条目数量级
ip neigh | wc -l
# 找出重复出现的 IP,即同一 IP 有多个 MAC
ip neigh | awk '{print $1}' | sort | uniq -d | head
# 观察某条记录是否频繁变化
watch -n2 'ip neigh show dev eth0 | head -20'
# 查看该接口的邻居表容量上限
cat /proc/sys/net/ipv4/neigh/eth0/gc_thresh3
# 抓 ARP 流量判断规模与来源分布
tcpdump -i eth0 -nn arp -c 200异常模式对照
| 观察结果 | 可能成因 | 验证方式 |
|---|---|---|
| 条目数快速接近上限 | 大二层环路或地址扫描 | 抓 ARP 看请求分布与来源 |
| 同一 IP 出现多个 MAC | VIP 漂移或 ARP 欺骗 | 确认是否部署 VRRP/Keepalived |
| 网关 MAC 变化 | 主备切换或欺骗 | 查交换机日志与设备角色 |
| 广播帧持续高占比 | 环路或故障网卡 | 在交换机侧看广播抑制与端口流量 |
MAC 与 IP 的对应关系频繁变化,也可能完全正常:VRRP/Keepalived 的 VIP 在主备切换时必然更换 MAC,先确认架构再定性为攻击,可避免误伤合规变更。
单纯调大邻居表容量不是解决方案:在二层环路场景里,容量调多大都会被瞬间塞满,必须找到环路的成因(如新接入设备未启用 STP、双上联错配)。