Wireshark 过滤器的使用与优化
学习笔记作者:admin日期:2025-06-01点击:192
摘要:介绍 Wireshark 捕获过滤器和显示过滤器的使用方法,通过设置过滤器精准抓取特定程序的网络数据包。
Wireshark 过滤器的使用与优化
Wireshark 是一款强大的网络协议分析工具,过滤器功能是其核心。本文详细介绍了两种过滤器——捕获过滤器和显示过滤器的使用方法,帮助用户通过精准设置过滤器来抓取特定程序的网络数据包。
一、Wireshark 过滤器类型
Wireshark 提供了两种主要过滤器:
| 类型 | 名称 | 作用 | 示例 | 
|---|---|---|---|
| 捕获过滤器 | BPF 语法 | 在抓包前过滤数据包 | host 192.168.1.1 and port 80 | 
| 显示过滤器 | Wireshark 自定义语法 | 抓包后在界面上过滤显示 | ip.addr == 192.168.1.1 && tcp.port == 80 | 
二、捕获过滤器(Capture Filter)
捕获过滤器用于在抓包前设置过滤条件,减少内存和磁盘开销。以下是常用语法(BPF 语法):
- host <IP地址>:匹配源或目的 IP 地址
- net <网段>:匹配某个子网
- port <端口号>:匹配端口
- 协议过滤:如 tcp、udp、icmp
- 组合逻辑:如 and、or、not
例如:host 192.168.1.1 and port 80 and tcp 表示只捕获与 IP 为 192.168.1.1 的主机通信,并且端口为 80 的 TCP 数据包。
三、显示过滤器(Display Filter)
显示过滤器用于在抓包后筛选出符合条件的数据包,更灵活、强大。以下是常用语法:
1. 基本字段匹配
- ip.addr == 192.168.1.1:匹配源或目的 IP 地址
- tcp.port == 80:匹配 TCP 端口
- http:显示所有 HTTP 流量
2. 逻辑组合
- &&(AND)
- ||(OR)
- !(NOT)
例如:(tcp.port == 80 || tcp.port == 443) && ip.addr == 192.168.1.1 表示显示目标或源 IP 为 192.168.1.1 并且端口是 80 或 443 的 TCP 包。
四、小技巧
- 输入过程中按 Ctrl + Space可自动补全字段名。
- 鼠标右键点击某个字段 → “Apply as Filter” → 快速生成过滤器。
- 使用 !(filter)来排除某些包。
- 使用 frame.number > 100 && frame.number < 200查看特定编号范围的数据包。
五、推荐流程
| 步骤 | 操作 | 
|---|---|
| 1 | 使用 netstat或TCPView获取程序访问的 IP 或端口 | 
| 2 | 设置捕获过滤器(如 host xxx.xxx.xxx.xxx and port yyyy) | 
| 3 | 开始抓包 → 打开程序 → 停止抓包 | 
| 4 | 使用显示过滤器进一步精简结果(如 tcp.port == yyyy) | 
六、关键词
Wireshark, 捕获过滤器, 显示过滤器, BPF 语法, 网络数据分析