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

Wireshark 按 VLAN 过滤

vlan.id 过滤 802.1Q 标签流量;Trunk 口抓包后按 VLAN 分离不同业务,验证 VLAN 划分与标签剥离行为。

按 VLAN 过滤

vlan.id 用来过滤带 802.1Q 标签的以太网帧。在 Trunk 口抓包后按 VLAN 分离不同业务流量,可以验证划分是否符合设计、标签在哪些设备上被剥离。Access 口发出的帧本来就不带标签,如果抓到的包里完全没有 vlan 字段,先确认抓包点的链路类型,而不是直接怀疑配置出错。

基本信息

适用平台Wireshark(解析 IEEE 802.1Q 标签)
过滤语法vlan.id == 10 / vlan && !ip / vlan == 2 && vlan.id == 10
适用链路Trunk 口、镜像口、服务器网卡子接口
相关场景802.1Q 单标签与 QinQ 双层标签

典型使用场景

  • 验证 VLAN 划分:在 Trunk 口按 VLAN 过滤,核对业务是否隔离正确
  • 分离多业务流量:同一物理口跑多个 VLAN 时按 id 分别分析
  • 排查标签剥离:确认 Access 口发出的帧已不带标签
  • QinQ 场景:外层与内层标签分别匹配,定位运营商与用户侧划分
  • 服务器虚拟化:宿主机子接口标签与虚机网卡配置互相对照

常用示例

常用示例
vlan.id == 10                       # 只要 VLAN 10 的帧
vlan == 2 && vlan.id == 10          # QinQ:外层 VLAN 2、内层 VLAN 10
vlan && !ip                         # 带标签但不含 IP 的帧
vlan.id == 10 && arp                # 某一 VLAN 内的 ARP 交互

常见现象判读

现象含义处理方向
文件里没有 vlan 字段抓包点链路不带标签确认是否为 Access 口,或换到 Trunk 口抓
只有一层标签普通 802.1Q 转发核对本端预期的标签层数
出现两层标签QinQ 或标签嵌套按层顺序分别匹配内外层
标签被驱动剥离网卡硬件卸载行为在驱动侧关闭或换抓包点
部分网卡与虚拟交换机默认启用 VLAN 硬件卸载,标签在驱动层就被剥离,落盘的 pcap 里看不到 vlan 字段。换一块网卡、关掉卸载,或改到上游设备抓包都能解决。
QinQ 场景中 vlan 字段会出现两次,过滤器的匹配顺序按标签由外到内。写表达式时把外层写在前面,判读时也不容易看错。
虚拟化平台里,宿主机子接口的标签常由虚拟交换机在软件层添加,抓包看到标签的位置与物理 Trunk 口并不相同。判断标签在哪一层被加上或被剥掉,需要在宿主机与虚机两侧同时取数。

易错点

  • 部分网卡驱动会剥离 VLAN 标签(硬件 offload),文件里看不到需在驱动关闭或换抓包点
  • QinQ 双层标签的 vlan 字段出现两次,过滤器按层顺序匹配
  • Access 口发出的帧本来就不带标签,误判成「VLAN 丢失」会白折腾
  • 只看 VLAN 标签不核对 MAC 与 IP,容易放过标签正确但转发错误的场景

数据来源与参考

  • Wireshark 显示过滤器参考(vlan.id)
  • IEEE 802.1Q
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌