wireshark专栏——仅保存过滤出的报文

目的:通过wireshark抓包,然后通过wireshark过滤功能,仅保存想要的报文

举例:过滤出SNMP报文,并保存。

1、打开包含多中类型的报文文件。

最初的报文有很多类型的报文,现在要筛选出SNMP报文,并仅保存SNMP报文
在这里插入图片描述

2、筛选出目的类型报文。

在Filter框中输入SNMP,筛选出SNMP报文
在这里插入图片描述

3、Mark筛选出的报文。

将过滤的SNMP报文标记,点击Edit,然后点击Mark All Displayed Packets
在这里插入图片描述

4、报文Mark后会变色。

在这里插入图片描述

5、输出Mark的报

### 如何在Wireshark过滤MPLS报文 Wireshark 是一款功能强大的网络协议分析工具,能够解析多种复杂的网络协议并提供详细的显示过滤器。对于 MPLS 报文过滤,可以通过特定的显示过滤器语法来实现。 #### 显示过滤器基础 Wireshark 提供了丰富的显示过滤器字段,这些字段可以帮助用户精确筛选感兴趣的流量。通过使用 `mpls` 关键字及其子字段,可以轻松定位和分析 MPLS 数据包[^3]。 #### 过滤 MPLS 报文的具体方法 以下是几种常见的 MPLS 报文过滤方式: 1. **基本过滤** 要查看所有的 MPLS 报文,可以直接输入以下过滤器表达式: ```plaintext mpls ``` 2. **按标签值过滤** 如果需要查找具有特定标签值的 MPLS 报文,可以使用 `mpls.label` 字段。例如,要查找标签值为 20 的 MPLS 报文,可使用如下过滤器: ```plaintext mpls.label == 20 ``` 3. **按实验位(EXP)过滤** 实验位通常用于 QoS 或优先级标记。如果想基于 EXP 值进行过滤,可以使用 `mpls.exp` 字段。例如,查找 EXP 值等于 5 的 MPLS 报文: ```plaintext mpls.exp == 5 ``` 4. **按栈底标志(BoS)过滤** BoS 标志表示当前标签是否是堆栈中的最后一个标签。如果希望只显示 BoS 设置为 1 的 MPLS 报文,则可以使用以下过滤器: ```plaintext mpls.bos == 1 ``` 5. **结合其他条件过滤** 使用逻辑运算符(如 `and`, `or`, `not`),可以创建更复杂的过滤条件。例如,查找目标 IP 地址为 `192.168.1.100` 并带有 MPLS 标签的报文: ```plaintext ip.dst == 192.168.1.100 and mpls ``` #### 示例代码片段 以下是一个简单的 Python 脚本示例,展示如何利用 `subprocess` 模块调用 Wireshark 来捕获并保存包含 MPLS 报文的数据包到文件中: ```python import subprocess def capture_mpls_packets(output_file): command = [ "tshark", "-i", "eth0", # 替换 eth0 为目标接口名称 "-Y", "mpls", # 使用显示过滤器捕捉 MPLS 流量 "-w", output_file # 将结果写入指定文件 ] process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE) stdout, stderr = process.communicate() if process.returncode != 0: raise Exception(f"Error capturing packets: {stderr.decode()}") capture_mpls_packets("./mpls_traffic.pcap") ``` 此脚本会启动 TShark(Wireshark 的命令行版本),并将符合条件的 MPLS 报文存储在一个 `.pcap` 文件中以便后续分析。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值