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"。
  • 组合使用 :用括号和逻辑运算符(如 &&、||、!)组合条件。
相关推荐
高级程序源几秒前
springboot大学生体测系统72170-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·python·django·课程设计
打工仔折腾 AI13 分钟前
极空间用 Docker 部署 Photopea:网页版 PS 的私有化实践
运维·后端·python·docker·容器·langchain·ai agent 实战
Eiceblue21 分钟前
使用 Python 实现 Excel 行列转置(保留单元格样式)
前端·python·excel
西西学代码36 分钟前
像素和颜色之间的转换(Flutter)
前端·javascript·flutter
掘金者阿豪44 分钟前
别只会docker stats了:cAdvisor把CPU、内存、磁盘和网络监控搬进Web页面
后端
企业数字化笔记1 小时前
多租户系统从哪里开始设计?租户身份、数据隔离、权限与套餐的整体方案
java·spring boot·后端·junit
茶底世界之下1 小时前
羽毛颜色已经很鲜艳,还要继续加色吗?用 Awaking 试一次减饱和
前端·ios·运营
10年前端老司机1 小时前
一次业务迭代:聊聊知识库多版本可追溯审核流程怎么做
人工智能·后端·agent
风早爽太1 小时前
Mac 搭建 Vue 开发环境
前端·vue.js