6.6 应用过滤器 - Wireshark 数据包分析实战(第 3 版) - 知乎书店1
### 6.6 应用过滤器 - Wireshark 数据包分析实战 #### 一、概述 本章节主要介绍如何利用Wireshark及其命令行工具TShark进行数据包过滤,以及如何通过Tcpdump实现类似的功能。数据包过滤是网络分析中的一个重要环节,能够帮助用户快速定位关注的数据流,从而提高工作效率。 #### 二、TShark过滤器 **1. 捕获过滤器** - **语法**: TShark支持Berkeley Packet Filter (BPF)语法。 - **应用**: 使用`-f`参数配合BPF语法进行实时过滤。 - **示例**: `tshark –ni 1 –w packets.pcap –f "tcp port 80"`,该命令将只捕获目标端口为80的TCP流量,并将其保存到`packets.pcap`文件中。 **2. 显示过滤器** - **语法**: 使用Wireshark显示过滤器语法。 - **应用**: 通过`-Y`参数应用显示过滤器。 - **示例**: `tshark –ni 1 –w packets.pcap –Y "tcp.dstport == 80"`,该命令在捕获过程中仅显示目标端口为80的TCP流量。 **3. 应用于已捕获文件** - **应用**: 使用`-r`参数读取已捕获的文件,并通过`-Y`参数应用显示过滤器。 - **示例**: `tshark –r packets.pcap –Y "tcp.dstport == 80"`,此命令将显示`packets.pcap`文件中所有目标端口为80的TCP包。 #### 三、Tcpdump过滤器 **1. 捕获过滤器** - **语法**: Tcpdump同样支持BPF语法。 - **应用**: 使用单引号括起来的过滤表达式进行过滤。 - **示例**: `tcpdump –nni eth0 –w packets.pcap 'tcp dst port 80'`,该命令将捕获目标端口为80的TCP流量并保存至`packets.pcap`文件。 **2. 应用于已捕获文件** - **应用**: 通过`-r`参数读取文件,再使用过滤表达式进行筛选。 - **示例**: `tcpdump –r packets.pcap 'tcp dst port 80'`,此命令将显示`packets.pcap`文件中所有目标端口为80的TCP包。 **3. 过滤器文件** - **语法**: 可以创建一个包含一系列过滤器的BPF文件。 - **应用**: 使用`-F`参数指定过滤器文件。 - **示例**: `tcpdump –nni eth0 –F dns_servers.bpf`,该命令使用名为`dns_servers.bpf`的文件中的过滤器进行捕获。 - **注释**: BPF文件中不允许直接添加注释,建议创建两个版本的文件,一个用于实际运行,另一个包含注释以供参考。 #### 四、过滤器的高级应用 **1. 多步骤过滤** - **应用场景**: 当需要对大型捕获文件进行精细化分析时,可以通过多步过滤将感兴趣的流量提取出来。 - **示例**: `tcpdump –r packets.pcap 'tcp dst port 80' –w http_packets.pcap`,该命令从`packets.pcap`文件中筛选出目标TCP端口为80的流量,并保存至新文件`http_packets.pcap`。 **2. 结合Wireshark与Tcpdump** - **应用场景**: 在进行大规模数据捕获后,使用Tcpdump进行初步筛选,然后在Wireshark中进行深入分析。 - **示例**: 先使用Tcpdump对原始捕获文件进行过滤,得到较小的文件,再导入Wireshark进行进一步的分析和可视化展示。 #### 五、总结 本章节介绍了如何使用TShark和Tcpdump进行数据包过滤的方法,包括捕获过滤器和显示过滤器的应用,以及如何通过过滤器文件简化复杂过滤器的管理。通过对这些工具的掌握,可以帮助网络工程师高效地分析网络流量,解决网络问题。
- 粉丝: 621
- 资源: 310
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助