Wireshark常用过滤规则

以下是一些实用的Wireshark数据包过滤规则,按协议和场景分类,适用于分析网络流量。

1. TLS/SSL协议过滤

  • 所有TLS流量

    tls

  • 所有TLS握手数据包

    tls.handshake

  • Client Hello (类型1)

ini 复制代码
tls.handshake.type == 1
  • Server Hello (类型2)
ini 复制代码
tls.handshake.type == 2
  • 特定SNI匹配
ini 复制代码
tls.handshake.extensions_server_name == "example.com"
tls.handshake.extensions_server_name contains "google"
  • TLS版本过滤
ini 复制代码
tls.record.version == 0x0303  # TLS 1.2
tls.record.version == 0x0304  # TLS 1.3
  • 加密套件

    tls.handshake.ciphersuite

2. HTTP/HTTPS过滤

  • 所有HTTP流量

    http

  • HTTP请求

vbscript 复制代码
http.request
  • HTTP响应
vbscript 复制代码
http.response
  • 特定HTTP方法
ini 复制代码
http.request.method == "GET"
http.request.method == "POST"
  • 特定URI路径
sql 复制代码
http.request.uri contains "/api"
http contains "login"
  • HTTP状态码
ini 复制代码
http.response.code == 200
http.response.code == 404
  • User-Agent过滤
sql 复制代码
http.user_agent contains "Chrome"
http contains "Mozilla"
  • HTTPS流量(需解密或查看Client Hello)
sql 复制代码
ssl.handshake.extensions_server_name contains "api.example.com"

3. DNS协议过滤

  • 所有DNS查询

    dns

  • DNS查询包

ini 复制代码
dns.flags.response == 0
  • DNS响应包
ini 复制代码
dns.flags.response == 1
  • 特定域名查询
ini 复制代码
dns.qry.name contains "google.com"
dns.qry.name == "www.example.com"
  • DNS类型过滤
ini 复制代码
dns.qry.type == 1  # A记录
dns.qry.type == 28 # AAAA记录

4. IP和网络层过滤

  • 特定IP地址
ini 复制代码
ip.src == 192.168.1.100
ip.dst == 8.8.8.8
  • IP地址范围
ini 复制代码
ip.addr == 192.168.1.0/24
ip.src >= 192.168.1.1 && ip.src <= 192.168.1.255
  • 特定端口
ini 复制代码
tcp.port == 80 || tcp.port == 443
udp.port == 53  # DNS
  • 特定协议
ini 复制代码
ip.proto == 6  # TCP
ip.proto == 17 # UDP
ip.proto == 1  # ICMP
  • MAC地址
ini 复制代码
eth.src == aa:bb:cc:dd:ee:ff

5. TCP协议过滤

  • TCP流量

    tcp

  • TCP SYN包(连接建立)

ini 复制代码
tcp.flags.syn == 1 && tcp.flags.ack == 0
  • TCP SYN-ACK包
ini 复制代码
tcp.flags.syn == 1 && tcp.flags.ack == 1
  • TCP FIN包(连接关闭)
ini 复制代码
tcp.flags.fin == 1
  • TCP重传包

    tcp.analysis.retransmission

  • TCP窗口大小

    tcp.window_size > 65535

  • TCP序列号过滤

ini 复制代码
tcp.seq == 123456
  • TCP会话跟踪
ini 复制代码
tcp.stream == 0  # 特定TCP流

6. 应用层协议过滤

  • SMTP邮件

    smtp

  • FTP

kotlin 复制代码
ftp
ftp-data
  • SSH

    ssh

  • RDP(远程桌面)

    rdp

  • SMB(文件共享)

    smb || smb2

  • NTP时间同步

    ntp

  • SNMP

    snmp

7. 高级过滤和组合

  • 组合条件
ini 复制代码
ip.src == 192.168.1.100 && tcp.dstport == 80
  • 排除条件
ini 复制代码
!(ip.src == 192.168.1.1)
  • 逻辑运算
ini 复制代码
(ip.dst == 8.8.8.8 || ip.dst == 1.1.1.1) && udp.dstport == 53
  • 字符串匹配
sql 复制代码
frame contains "password"
http contains "secret"
  • 数据包大小
go 复制代码
frame.len > 1500

8. 性能和异常检测

  • 大数据包
go 复制代码
frame.len > 1400
  • 异常端口
yaml 复制代码
tcp.port > 1024 && tcp.port < 65535
  • 广播/多播
ini 复制代码
eth.dst[0] & 1  # 以1结尾的MAC地址
  • ARP流量

    arp

  • ICMP(ping等)

    icmp

  • 丢包检测

    tcp.analysis.lost_segment
    tcp.analysis.duplicate_ack

9. 流和会话过滤

  • 特定TCP/UDP流
ini 复制代码
tcp.stream == 1
udp.stream == 0
  • 跟随特定流
    • 右键数据包 > Follow > TCP/UDP/TLS Stream
  • 统计特定流的数据量
bash 复制代码
statistics.io.graph  # 图形化流量分析

10. 捕获过滤器(Capture Filter)

这些在抓包前使用,减少无关数据:

  • 仅捕获特定主机

    host 192.168.1.100

  • 特定端口

    port 80 or port 443

  • 特定协议

    tcp port 80
    udp port 53

  • 网络

    net 192.168.1.0/24

  • 排除本地流量

    not host 192.168.0.0/16

11. 使用建议

  • 显示过滤器:用于分析已捕获数据包,语法灵活。
  • 捕获过滤器:用于实时抓包,减少数据量。
  • 验证过滤器:过滤栏背景绿色表示语法正确,红色表示错误。
  • 保存过滤器:右键过滤栏 > "Manage Filter Expressions"。
  • 组合使用 :用括号和逻辑运算符(如 &&||!)组合条件。
相关推荐
章豪Mrrey nical5 小时前
前后端分离工作详解Detailed Explanation of Frontend-Backend Separation Work
后端·前端框架·状态模式
派大鑫wink6 小时前
【JAVA学习日志】SpringBoot 参数配置:从基础到实战,解锁灵活配置新姿势
java·spring boot·后端
程序员爱钓鱼6 小时前
Node.js 编程实战:文件读写操作
前端·后端·node.js
xUxIAOrUIII7 小时前
【Spring Boot】控制器Controller方法
java·spring boot·后端
PineappleCoder7 小时前
工程化必备!SVG 雪碧图的最佳实践:ID 引用 + 缓存友好,无需手动算坐标
前端·性能优化
Dolphin_Home7 小时前
从理论到实战:图结构在仓库关联业务中的落地(小白→中级,附完整代码)
java·spring boot·后端·spring cloud·database·广度优先·图搜索算法
zfj3217 小时前
go为什么设计成源码依赖,而不是二进制依赖
开发语言·后端·golang
weixin_462446237 小时前
使用 Go 实现 SSE 流式推送 + 打字机效果(模拟 Coze Chat)
开发语言·后端·golang
JIngJaneIL7 小时前
基于springboot + vue古城景区管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
敲敲了个代码7 小时前
隐式类型转换:哈基米 == 猫 ? true :false
开发语言·前端·javascript·学习·面试·web