广播与组播过滤
用 ether broadcast、ip broadcast、multicast 等关键字可以只抓广播或组播流量。这类报文在正常网络里占比不高,一旦明显增多往往对应风暴或配置异常。常见的排查对象包括地址解析、动态地址分配、本地名称解析与服务发现协议。
基本信息
| 适用平台 | Linux / macOS / BSD 上的 tcpdump |
|---|---|
| 关键字 | ether broadcast、ip broadcast、multicast、ether multicast |
| 常见端口 | 地址解析与动态分配、本地名称解析、服务发现 |
| 配合选项 | -nn 不解析名字、-c 限量、-e 看帧头 |
| 注意 | 交换机侧优化会裁剪部分泛洪流量 |
典型使用场景
- 怀疑广播风暴时统计广播帧的规模与来源
- 排查地址分配失败:确认请求与应答是否都出现
- 诊断服务发现异常:确认组播报文是否到达本机
- 核对交换机组播配置是否按预期转发
- 评估无线与有线混合网络中的广播比例
常用示例
常用示例
tcpdump -i eth0 -nn 'ether broadcast and not arp' -c 20 # 广播帧(排除地址解析)
tcpdump -i eth0 -nn 'ether broadcast' -c 50 # 全部广播帧
tcpdump -i eth0 -nn multicast -c 20 # 组播流量
tcpdump -i eth0 -nn 'udp port 1900' -c 10 # 服务发现报文关键字与用途
| 关键字 | 匹配内容 | 典型用途 |
|---|---|---|
| ether broadcast | 链路层广播帧 | 地址解析与地址分配 |
| ip broadcast | IP 层广播地址 | 子网内广播流量 |
| multicast | 组播流量 | 服务发现与组播诊断 |
| ether multicast | 链路层组播帧 | 排查泛洪范围 |
广播风暴时输出会瞬间爆量,先用 -c 限量或直接落盘,避免终端被刷爆。
交换机的组播优化会裁剪泛洪范围,看不到组播不代表发送端没有发出。
补充要点
- 统计广播帧数量时给出单位时间内的量,单纯比总数没有意义
- 把广播来源地址列出,通常能直接锁定环路或异常主机
- 地址解析与地址分配类报文在正常网络中也会出现,判断异常要看频率
- 无线网络中广播会被低速转发,广播过多会显著影响整体体验
排查广播问题优先在接入交换机侧取证,主机网卡上看到的往往只是自己收到的那一部分。
统计广播规模时写明时间范围与抓包位置,否则数字无法与他人结论对比;接入交换机侧的数据通常比主机侧更能代表真实广播量。