首页/网络/抓包与流量分析速查/Wireshark 按 MAC 地址过滤
Wireshark 技巧75 条

Wireshark 按 MAC 地址过滤

eth.addr / eth.src / eth.dst 过滤以太网地址;二层问题(ARP、环路、镜像口分析)与设备识别时用到,IPv6 链路本地交互也常按 MAC 切分。

按 MAC 地址过滤

eth.addr 用来过滤以太网帧的源或目的地址,eth.src 与 eth.dst 可以进一步限定方向。二层问题排查(地址冲突、环路、镜像口分析)与设备识别都离不开它。需要记住的是,跨路由之后源地址已经被网关替换,按地址过滤只在同一个二层网络内才有意义。

基本信息

适用平台Wireshark 显示过滤器(二层帧)
语法eth.addr == 00:11:22:33:44:55 / eth.dst == ff:ff:ff:ff:ff:ff
方向限定eth.src 与 eth.dst 分别匹配源与目的
前提条件抓包点与目标处在同一个广播域

典型使用场景

  • 定位指定设备:按地址过滤出某台设备的全部交互
  • 识别广播流量:目的地址为全 F 的帧就是广播
  • 分析地址冲突:同一地址出现在两个端口上时需要进一步确认
  • 验证虚拟化行为:虚拟网卡地址可能与物理标签不一致
  • 排查链路聚合:同一会话可能从不同成员口抓出不同源地址

常用示例

常用示例
eth.addr == 00:11:22:33:44:55            # 源或目的为该地址
eth.dst == ff:ff:ff:ff:ff:ff && !arp    # 广播帧里排除 ARP
eth.src == 00:11:22:33:44:55 && stp     # 某设备发出的生成树报文

常见目的地址

目的地址类型说明
ff:ff:ff:ff:ff:ff广播同一广播域内所有设备
01:00:5e 开头IPv4 组播低 23 位映射自组播地址
33:33 开头IPv6 组播链路本地发现大量使用
01:80:c2 开头保留组播生成树等协议使用
虚拟化环境里的地址常由宿主机的虚拟交换机生成或改写,与资产台账里登记的标签未必一致。跨层排查时应以虚拟平台侧的信息为准。
抓包口如果是链路聚合成员,同一会话的帧可能从不同成员口抓出不同的源地址。看到「多个源地址」先别急着判定地址冲突。
跨路由之后源地址会被网关替换,按地址过滤只能看到网关。要追踪真实来源,必须回到源端所在的二层网络里抓,或者改用 IP 层的字段来筛选。

易错点

  • 虚拟化环境 MAC 可能是宿主虚拟交换机生成,与物理标签不一致
  • 抓包口与其他设备做链路聚合时,同一会话可能出现多个源 MAC
  • 跨路由后按 MAC 过滤只能看到网关地址,无法追踪真实来源
  • 用 MAC 过滤排查问题前先确认抓包点同属一个广播域,否则结论不成立

数据来源与参考

  • Wireshark 显示过滤器参考(eth.addr)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌