tcpdump 抓 STP BPDU

STP/RSTP/MSTP 的 BPDU 发往组播 MAC 01:80:c2:00:00:00,二层环路与拓扑震荡排查可先确认 BPDU 是否正常收发。

用途过滤生成树协议报文
语法ether dst 01:80:c2:00:00:00 [and ...]

常用示例

常用示例
tcpdump -i eth0 -nn -e 'ether dst 01:80:c2:00:00:00' -c 20
tcpdump -i eth0 -nn -e 'ether dst 01:80:c2:00:00:00 and ether[14:2] = 0x0000'  # RSTP 版本
BPDU 每 2 秒左右由根桥发出(Hello Time 默认 2s);完全收不到说明该口被 BPDU Filter/Filtering 或未参与生成树。

易错点

  • 交换机端口默认不向接入设备转发 BPDU,普通网卡抓不到属正常;要在镜像口或网关链路抓
  • 华为/思科设备 BPDU 格式细节有差异,判读字段时注意版本与协议号

数据来源与参考

  • man 8 pcap-filter
  • IEEE 802.1D(STP)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌