| 显示过滤器(Display Filter) | 捕获过滤器(Capture Filter) | |
|---|---|---|
| 哪里设 | 主界面顶部过滤栏(最常用) | 开始捕获前,Capture→Options |
| 作用 | 只"隐藏"不符合的包,不删除,数据还在 | 捕获阶段就丢掉不符合的包 |
| 语法 | 字段式,如 http.uri contains "a" | 类似 tcpdump/伯克利 BPF,如 tcp port 80 |
| 对 CTF 的意义 | 几乎只用它——analyze 已采集好的文件时更不着调捕获 | 仅当你自己抓包且要省空间时用 |
协议.子字段写"哪个协议、取它哪个字段"。例如 http.request.uri = HTTP 请求里的 URI。
| 符号 | 含义 | 示例 |
|---|---|---|
== | 等于 | http.request.method == "GET" |
!= | 不等于 | tcp.port != 443 |
> < >= <= | 大于/小于 | tcp.len > 1000 |
contains | 包含某子串(区分大小写) | http.request.uri contains "SLEEP" |
matches | 用正则匹配 | http.request.uri matches "user/[0-9]+" |
把多个条件组合。括号用于改变优先级,和数学一样。
// 并且(两个都满足)
http and tcp.port == 80
// 或者(满足其一)
udp.port == 53 or dns.flags.response == 1
// 否定 / 排除某种包
not tcp.port == 443
// 组合 + 括号(看请求,且 URI 里带某个词)
http.request and (http.request.uri contains "admin")"GET"、"/api/user"80、10241 / 0 / true / false| 类别 | 字段 | 含义 / 用途 |
|---|---|---|
| HTTP | http | 所有 HTTP 包(请求+响应) |
http.request | 只要请求方向 | |
http.request.uri | 请求的网址/URI(看攻击参数首选) | |
http.request.method | 方法:GET/POST/PUT/DELETE | |
| TCP/UDP|IP | tcp / udp | 按传输层协议看 |
ip.addr / ip.src / ip.dst | 看 IP;定位攻击来源/目标 | |
| 连接 | tcp.stream | 整条 TCP 连接编号;tcp.stream eq 5 只看一条连接 |
| 端口 | tcp.port / udp.port | 按端口;如 MySQL=3306、FTP=21、DNS=53 |
| DNS | dns.qry.name | 查询的域名(DNS 带外题超有用) |
| 加密|凭据 | tls | HTTPS/TLS 加密流量 |
-r(tshark) / 解密 | TLS 需用密钥解密,见 05 协议 | |
| 数据库 | mysql | MySQL 协议流量(SQL 注入还原啊) |
mssql | MSSQL 协议流量 | |
| 文件|邮件|共享 | ftp smb smtp pop | 文件/邮件/共享协议,常用于"传文件/泄数据" |
| 时间|长度|标记 | 帧号/相对时间列/TCP 延迟 | 盲注题判断"睡了 5 秒还是秒回" |
想要任意字段?Wireshark 会自动补全:在过滤栏输入 http. 会弹出候选子字段,选一个回车即可。
# 只看 HTTP 全部
http
# 只看攻击者的请求(不含响应)
http.request
# 请求里网址包含某关键字(定位注入 / 越权一用一个准)
http.request.uri contains "SLEEP"
http.request.uri contains "/api/user"
# 只看返回 JSON 的响应
http.response && json
# 只看某台 IP 与我的通讯
ip.addr == "192.168.1.10"
# 只盯着一条 TCP 连接看(先 Find 得到流号)
tcp.stream eq 222
# 只看 MySQL 协议(数据库注入)
mysql
# 排除端口 7890 那种代理噪音
not tcp.port == 7890contains 对大小写敏感。抓包里是 SLEEP(大写),你写 sleep 就搜不到。拿不准就两种都试。uri contains /api 会红。正确:uri contains "/api"。http.request == "true" 是错的,写 http.request(存在即真)。json 或导出对象,见 04 定位术。