Wireshark 过滤器的使用与优化

学习笔记作者:admin日期:2025-06-01点击:19

摘要:介绍 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 <端口号>:匹配端口
  • 协议过滤:如 tcpudpicmp
  • 组合逻辑:如 andornot

例如: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 使用 netstatTCPView 获取程序访问的 IP 或端口
2 设置捕获过滤器(如 host xxx.xxx.xxx.xxx and port yyyy
3 开始抓包 → 打开程序 → 停止抓包
4 使用显示过滤器进一步精简结果(如 tcp.port == yyyy

六、关键词

Wireshark, 捕获过滤器, 显示过滤器, BPF 语法, 网络数据分析

上一篇      下一篇