【网络】Wireshark过滤器表达式的规则

Wireshark 的过滤器主要分为两类,用途截然不同,千万别搞混了:

  • 捕获过滤器 (Capture Filter) :在开始抓包前设置,决定"抓什么"。它能减少无关数据,节省资源。
  • 显示过滤器 (Display Filter) :在抓到包后使用,决定"看什么"。它功能更强大,是日常分析的主力。

下面为你分别介绍它们的核心规则。


🎣 捕获过滤器 (Capture Filter)

它使用 BPF (Berkeley Packet Filter) 语法,规则相对简单。你可以在 Wireshark 主界面的顶部直接输入。

1. 核心语法结构

[协议] [方向] [主机/网络] [逻辑运算符] [端口/值]

2. 常用关键字
  • 协议 (Protocol) : tcp, udp, ip, arp, icmp, http, dns 等。
  • 方向 (Direction) : src (源), dst (目标)。如果不指定,则表示源或目标。
  • 逻辑运算符 (Logic) : and, or, not (或 !)。
3. 实用示例
  • 只抓 TCP 包 :
    tcp
  • 只抓来自或去往 192.168.1.100 的包 :
    host 192.168.1.100
  • 只抓去往 192.168.1.100 的包 :
    dst host 192.168.1.100
  • 只抓来自 192.168.1.100 且目标端口是 80 的 TCP 包 :
    src host 192.168.1.100 and tcp dst port 80
  • 抓取 80 或 443 端口的包 :
    port 80 or port 443
  • 抓取除了 ARP 之外的所有包 :
    not arp

🔍 显示过滤器 (Display Filter)

这是你最常用的过滤器,功能极其强大,可以在抓到包后,在顶部的过滤栏输入表达式,精准筛选。

1. 核心语法结构

字段名 比较运算符 值

2. 常用比较运算符
  • == (等于)
  • != (不等于)
  • > (大于)
  • < (小于)
  • >= (大于等于)
  • <= (小于等于)
  • contains (包含,用于字符串或字节序列)
  • matches (正则表达式匹配)
3. 常用逻辑运算符
  • && (与)
  • || (或)
  • ! (非)
4. 实用示例
  • 只显示 TCP 包 :
    tcp
  • 只显示 IP 地址为 192.168.1.100 的包 :
    ip.addr == 192.168.1.100
  • 只显示源 IP 为 192.168.1.100 的包 :
    ip.src == 192.168.1.100
  • 只显示目标端口是 80 的 TCP 包 :
    tcp.dstport == 80
  • 显示 HTTP 协议中包含 "GET" 方法的包 :
    http.request.method == "GET"
  • 显示 TCP 标志位中包含 SYN 的包 (常用于寻找连接请求) :
    tcp.flags.syn == 1
  • 显示长度大于 100 字节的包 :
    frame.len > 100
  • 组合查询:显示来自 192.168.1.100 且是 HTTP 协议的包 :
    ip.src == 192.168.1.100 && http

💡 小技巧

  • 自动补全 :在显示过滤器输入框中输入字段名时,Wireshark 会自动提示,按 Tab 键可以补全。
  • 右键快捷过滤:在数据包列表中,右键点击任意一个字段(如 IP 地址、端口号),选择 "Apply as Filter" -> "Selected",Wireshark 会自动生成对应的过滤表达式,非常方便。
相关推荐
女神下凡2 小时前
芯参谋(107):杰理AC_中科蓝讯_开发指南
linux·服务器·网络·单片机·嵌入式硬件
爱和冰阔落7 小时前
【Linux网络】TCP 半包粘包怎么解决?从长度报头、JSON 拆包到网络计算器完整实战
linux·运维·网络·tcp/ip
say_fall9 小时前
【Linux网络编程】UDP套接字编程:系统编程组件、基础回显服务、InetAddr与地址转换、翻译服务与线程池聊天室
linux·服务器·网络·udp·vr
我不会插花弄玉21 小时前
6.传输层协议UDP【由浅入深-网络】
网络·网络协议·udp
火云代理21 小时前
更换网络后为什么会退出登录?分清 IP、Cookie 与会话的关系
服务器·网络·网络协议·tcp/ip·php·ip
xbzb1 天前
容器 IP 每次重建都变?docker network 五种模式与自定义网桥固定地址
网络·docker·容器·ip·network·固定
火云代理1 天前
同一个网站,有的网络能打开、有的打不开?认识 IPv4 与 IPv6 的访问差异
服务器·网络·网络协议·tcp/ip·测试工具·php·状态模式
坤坤子吖1 天前
Linux网络编程:TCP 粘包与半包问题,如何正确处理 TCP 流式数据?
linux·服务器·网络·笔记·网络协议·学习
火云代理1 天前
Python 使用代理 IP 前,先弄清 Requests 的配置来源与验证方法
网络·python·网络协议·tcp/ip·ip
如夏倾城1 天前
QUIC——HTTP/3 的唯一底层传输协议 及 0-RTT恢复
网络·网络协议·tcp/ip·安全·http