如图所示:
抓包报文完整解析(免费 ARP / 无故 ARP Gratuitous ARP)
一、以太网二层头部信息
- 帧基础信息Frame 22,链路总长 60 字节,完整捕获 60 字节;以太网类型
ARP(0x0806),说明这是 ARP 报文。 - 源 MAC:
54:89:98:98:69:b1,厂商前缀 HuaweiTe,华为终端 / 设备。 - 目的 MAC:
ff:ff:ff:ff:ff:ff二层广播地址,局域网内所有设备都会接收该帧。 - Padding 填充:一串全 0,以太网最小帧 64 字节,ARP 原生载荷不足,补 0 凑长度。
二、ARP 协议核心字段解读
Hardware type: Ethernet(1) 硬件类型=以太网 Protocol type: IPv4(0x0800) 承载三层协议=IPv4 Hardware size:6 MAC地址长度6字节 Protocol size:4 IPv4地址长度4字节 Opcode: request (1) ARP操作码=请求报文 [Is gratuitous: True] 标记:这是**免费ARP** Sender MAC:54:89:98:98:69:b1 Sender IP:192.168.1.253 Target MAC:ff:ff:ff:ff:ff:ff Target IP:192.168.1.253关键特征:免费 ARP 判断依据
发送方 IP = 目标 IP(都是192.168.1.253),Wireshark 直接标记Is gratuitous: True,这是标准免费 ARP(Gratuitous ARP),和普通 ARP 请求完全不同。
三、普通 ARP vs 免费 ARP 区别
- 普通 ARP 请求我要找别人的 MAC:发送 IP 是本机,目标 IP 是其他主机 IP,用来查询「某 IP 对应的 MAC 地址」。
- 免费 ARP(本图报文)目标 IP 填自己本机 IP,不寻求任何回复,作用是主动全网广播自己的 IP-MAC 映射。
四、免费 ARP 的 4 个核心用途
- IP 地址冲突检测设备刚上电 / 改 IP 后发免费 ARP:
- 如果局域网内另一台主机已经占用
192.168.1.253,那台设备会回复 ARP 冲突报文,本机立刻告警 IP 冲突。
- 更新全网 ARP 缓存设备更换网卡、切换主备链路(VRRP/HA 冗余网关)时发送,强制局域网所有设备刷新 ARP 表,把
192.168.1.253绑定到新 MAC。 - 主备网关切换(VRRP/HSRP)虚拟网关故障切换后,新主网关发送免费 ARP,全网流量立刻切到新主设备,无需等待 ARP 老化。
- 设备上线宣告终端 / 摄像头、华为交换机、路由器开机自动发送,告知全网 “我现在 IP 是 192.168.1.253,MAC 是 54:89:98:98:69:b1”。
五、本报文场景总结
华为设备(MAC 华为厂商段)IP 为192.168.1.253,向整个 192.168.1.x 局域网发送广播免费 ARP,目的:
- 检测网段内是否有其他设备占用
192.168.1.253; - 同步全网所有设备的 ARP 缓存,更新该 IP 对应的 MAC 地址;
- 大概率是设备上电、重启、修改 IP 或者冗余网关切换触发。
补充小知识点
免费 ARP 虽然 Opcode 是 request(请求),但正常情况下不会收到 ARP 回复;只有存在 IP 地址冲突时,才会收到对方的 ARP 应答报文。