You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何区分含双MPLS头的报文?求Wireshark/tshark过滤方案及命令

区分双层MPLS头的方法(Wireshark/tshark实现)

可以通过Wireshark或tshark的MPLS头索引功能区分不同层级的MPLS头,解决跨头匹配的问题。

Wireshark图形界面操作

Wireshark会为多层MPLS头按顺序编号为mpls[0](第一个MPLS头)、mpls[1](第二个MPLS头),以此类推。直接在过滤栏指定索引即可精准匹配目标头:

  • 匹配第一个MPLS头同时满足exp=7且bottom=0:
    mpls[0].exp == 7 && mpls[0].bottom == 0
    
  • 匹配第二个MPLS头的字段:
    mpls[1].exp == 7 && mpls[1].bottom == 0
    

tshark命令行实现

你之前的命令未指定MPLS头索引,导致规则会匹配"任意一个头exp=7 + 任意一个头bottom=0"的报文,因此出现结果数量超预期的问题。使用索引指定目标头即可解决:

匹配第一个MPLS头满足条件的报文(对应你预期的前8个报文)

tshark -r capture2_11-17-2022_11-15-15.pcap -T fields -E header=y -e mpls[0].exp -e mpls[0].bottom -Y "mpls[0].exp == 7 && mpls[0].bottom == 0"

关键参数说明

  • -Y:指定显示过滤规则(替代直接在命令末尾写规则的方式,更规范且兼容新版tshark)
  • mpls[N]:N为MPLS头的顺序索引,从0开始计数,精准指定要匹配的层级头

内容的提问来源于stack exchange,提问作者Giridhar Radhakrishnan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 23:45:55