从虚拟 MAC 认出协议
抓包或 ARP 表里出现陌生的虚拟 MAC 不必慌张:0000.5e00.01xx 是 VRRP 的虚拟 MAC(xx 为 vrid 的十六进制),0000.0c07.acXX 是思科 HSRP 的虚拟 MAC(XX 为组号的十六进制)。据此可以迅速判断对端跑的是哪套冗余协议,也能看出同一网段里是否存在两套协议互相抢主。
基本信息
| 适用平台 | 三厂网络通用,抓包与 ARP 表分析 |
|---|---|
| VRRP 规律 | 0000.5e00.01 加 vrid 的十六进制 |
| HSRP 规律 | 0000.0c07.ac 加组号的十六进制 |
| 协议归属 | HSRP 为思科私有,VRRP 为国际标准 |
典型使用场景
- 抓包看到未知 MAC,需要判断来源与协议
- 跨厂商网段里判断对端跑的是 VRRP 还是 HSRP
- 排查网关地址漂移与两套协议互抢
- 核对 ARP 表中网关对应的 MAC 是否正常
- 安全策略误封虚拟 MAC 导致整网断线后的排查
换算示例
换算示例
vrid 1 -> 0000.5e00.0101
vrid 10 -> 0000.5e00.010a # 0x0A
HSRP 组 1 -> 0000.0c07.ac01
HSRP 组 16 -> 0000.0c07.ac10 # 0x10华为 VRP
华为 VRP
<Huawei> display vrrp verbose # 可见 Virtual MAC
<Huawei> display arp | include 192.168.10.254
<Huawei> display vrrp brief思科 IOS
思科 IOS
SW-CORE-01# show standby 1 | include MAC
SW-CORE-01# show vrrp brief
SW-CORE-01# show arp | include 192.168.10.254H3C Comware
H3C Comware
<H3C> display vrrp verbose
<H3C> display arp | include 192.168.10.254
<H3C> display vrrp虚拟 MAC 速查
| 协议 | MAC 格式 | 示例 |
|---|---|---|
| VRRP | 0000.5e00.01 加 vrid 十六进制 | vrid 10 对应 0000.5e00.010a |
| HSRP | 0000.0c07.ac 加组号十六进制 | 组 16 对应 0000.0c07.ac10 |
| 常见误读 | 把 010a 当成 vrid 10a | 实际是十六进制,等于十进制 10 |
| 用途 | 从抓包或 ARP 表识别协议与组号 | 判断对端协议与是否存在互抢 |
vrid 与组号是以十六进制拼进 MAC 的:看到 010a 要知道对应 vrid 10(即 0x0A)。跨厂商混用的网段里,用这一招可以快速判断 HSRP(思科私有)与 VRRP 是否在互相抢主。
不要在 ACL 或安全策略里把虚拟 MAC 当成异常设备封禁:网关流量会被整段挡掉,影响范围是整个网段,且现象是全站不可达,排查时很容易先怀疑路由或上游。
虚拟 MAC 是判断主备状态最直接的证据:同一个网关地址在 ARP 表中对应的虚拟 MAC 发生变化,说明发生了主备倒换;配合协议自身的状态命令还能还原倒换发生的时间点。