在官网下载wireshark,这样不会丢tshark
之后记得配一下PATH
🏷️ 例题:
| 20251226ciscn 流量分析
| 20260130春秋杯 Stealthy_Ping / Beacon_Hunter
| 6.1流量分析杂
| 6.2USB 键鼠流量
| 20260202SHCTF C2流量分析
- 日志审计
- USB协议
- 网络协议
- 鼠标流量
- 键盘流量
- 打印机流量
- 手柄流量
- 协议分析
- 无线破解
- ICMP
- TLS流量
- Webshell流量
- 混淆流量
- Wifi流量
- 蓝牙流量
- Aircrack
- 数位板流量
- IPMI协议
- VMESS
IMF
Internet Message Format 互联网消息格式
Wireshark 常用过滤器速查
| 过滤器 | 含义 |
|---|---|
http |
只看 HTTP 流量 |
dns |
只看 DNS 流量 |
icmp |
只看 ICMP(ping) |
tcp.port == 80 |
只看 80 端口 TCP |
ip.addr == 192.168.1.1 |
只看与特定 IP 的通信 |
http.request.method == POST |
只看 POST 请求 |
tcp contains "flag" |
TCP 流中包含 flag 字符串 |
frame contains "flag" |
帧中包含 flag 字符串 |
tcp.stream eq 0 |
追踪 TCP 流 0 |
日志审计
特征:给一堆服务器日志(nginx/apache/系统日志),从中找攻击行为或提取 flag
常见考点:
- SQL 注入日志:URL 参数里有
SELECT、UNION、' OR 1=1等关键字 - 文件包含/路径遍历:URL 里出现
../、/etc/passwd、php://filter等 - 命令注入:请求中有
;ls、|cat flag之类的片段 - Webshell 访问:突然出现对一个可疑
.php/.jsp文件的大量 POST 请求 - 暴力破解:短时间内来自同一 IP 的大量登录请求
处理思路:
- 先用
grep或者文本编辑器搜flag、ctf、NSSCTF等关键词,万一运气好呢 - 按时间排序,找异常请求(频率异常、路径异常、参数异常)
- 把可疑的编码字符串(base64/URL 编码)解码
- 如果是大量的结构化日志(JSON),可以写个脚本自动提取可疑字段
网络协议分析(总体)
拿到流量包后的标准流程:
- 总览:统计→协议分级,看哪些协议占比大
- 过滤:用过滤器逐个协议排查
- 追踪流:对可疑 TCP/HTTP 流右键→追踪→TCP 流,看完整对话内容
- 导出对象:Wireshark→文件→导出对象(HTTP/FTP/SMB等),提取传输的文件
- 搜字符串:
frame contains "flag"或tcp contains "NSSCTF"
常见 CTF 流量隐藏点:
- 被传输的文件(HTTP 下载/FTP 传输 → 导出对象)
- DNS 请求域名中藏信息(Base64 编码的子域名 → DNS 隧道)
- ICMP payload 中藏数据(ICMP 隧道)
- USB 流量(→ 6.2USB 键鼠流量)
- 邮件协议 IMF(→ 1.图片隐写)
ICMP 隧道
原理:ICMP 的 data 部分可放任意数据,常被用来偷偷传信息(ICMP 隧道)
CTF 里:
- 过滤器
icmp只看 ICMP 包 - 逐个包的 data/payload 字段,可能有字符串或编码数据
- 常见的是每个 ICMP 包的 payload 里藏一个字符,拼起来就是完整信息
提取 ICMP payload 可以用 tshark:
1 | tshark -r traffic.pcapng -Y "icmp" -T fields -e data.data |
然后把得到的 hex 数据拼起来解码。
TLS/HTTPS 流量
加密流量,Wireshark 不能直接看内容。CTF 里的常见绕过:
- 给了密钥/证书:如果题目提供了私钥(
.key文件)或SSLKEYLOGFILE,可以在 Wireshark→编辑→首选项→TLS→RSA keys list 或 (Pre)-Master-Secret log filename 导入密钥来解密 - 攻击者失误:TLS 握手阶段有一些字段是明文的(SNI 域名、证书信息等),可能直接泄露信息
- 降级到 HTTP:检查是不是所有流量都是 HTTPS——攻击者可能在某些请求中不小心用了 HTTP,明文暴露了信息
过滤器:
tls.handshake.type == 1— Client Hello(可以看到 SNI)tls.handshake.type == 2— Server Hello & Certificate
Webshell流量
Webshell 的 HTTP 流量特征:
- 对一个特定
.php/.jsp/.asp文件有大量 POST 请求 - POST body 中有加密/编码的参数(base64 的
eval、system、exec等) - 请求间隔不规律(人工操作,不是爬虫)
- User-Agent 可能异常(一些 webshell 管理工具使用默认的 UA)
分析方法:
- 过滤器
http.request.method == POST - 逐个追踪 HTTP 流,找 POST 请求
- 对 POST body 中的编码字符串(base64/URL 编码)解码
- 看命令执行结果(Response 中通常直接是命令输出)
例题 → 6.1流量分析杂
混淆流量
原理:把 flag 编码/拆散/伪装,藏在看似正常的流量或协议元数据字段里
常见混淆手段:
- 编码混淆:把 flag 编码后藏在 HTTP Header 或 Cookie 里
- 隐写式混淆:flag 的每个字节藏在 TCP 包的序号/窗口大小/时间间隔等字段里
- 多协议拼接:flag 分散在多个协议流中,需要分别提取再拼起来
- 加密混淆:数据经过 XOR/ROT/自定义加密,需要逆向加密逻辑
解题思路:如果常规的协议分析和字符串搜索都没结果,考虑 flag 是否以非文本形式藏在 TCP/IP 的元数据字段中。比如 TCP urgent pointer、IP identification field、序列号差值等。
WiFi流量
WiFi 流量包(.pcap/.cap)可能包含加密的 WiFi 数据帧。要看里面的内容,需要:
- WPA/WPA2 加密:需要知道 WiFi 密码(PSK)和 SSID 来解密
- WEP 加密:弱加密,可以用 aircrack-ng 直接破解
如果题目给了 WiFi 密码,在 Wireshark→编辑→首选项→IEEE 802.11→Decryption Keys 中添加密钥。
如果没有给密码,尝试:
aircrack-ng -w /usr/share/wordlists/rockyou.txt capture.cap(WPA 词典攻击)- 题目可能在其他地方暗示了密码(图片、注释、压缩包密码等)
802.11 帧类型过滤器:
wlan.fc.type == 0— 管理帧(Beacon/Probe/Auth)wlan.fc.type == 2— 数据帧(加密/未加密的用户数据)eapol— WPA 四次握手包(用于离线破解密码)
蓝牙流量
蓝牙流量包(.pcap,btsnoop 格式),Wireshark 可解析
常见考点是蓝牙 HID(键盘/鼠标)和蓝牙串口通信中的数据泄露。
过滤器:
btle— 蓝牙低功耗bthci_acl— 蓝牙 ACL 数据btspp— 蓝牙串口(SPP)
蓝牙流量一般不需要解密(大多数 CTF 场景下已经是明文),直接追踪流看数据内容就行。
Aircrack-ng
WiFi 安全审计工具套件,CTF 里主要用于:
- 破解 WPA/WPA2 握手包:从 capture 中提取握手包,配合字典爆破
- 破解 WEP:WEP 加密非常弱,几万到几十万个包就能恢复密钥
WPA 破解流程:
1 | # 1. 检查 capture 是否包含握手包 |
没有字典的话,就看题目有没有在其他地方给密码暗示了。
IPMI协议
IPMI(Intelligent Platform Management Interface):服务器带外管理协议(开关机、装系统、远程控制台等)
CTF 里 IPMI 流量常见:
- 明文密码泄露:IPMI 2.0 的 RAKP 认证过程中,如果配置不当,密码哈希可能被截获并离线破解
- 远程控制台截图:IPMI 的 KVM(远程控制台)是明文传输的,流量包里可能直接包含服务器的屏幕截图
处理:Wireshark 中过滤器 ipmi,追踪 TCP 流,看看有没有敏感数据。
不过 IPMI 在 CTF Misc 中出现频率不高,知道有这回事就行。
VMESS / V2Ray 流量
VMESS 是 V2Ray 的加密传输协议,加密流量 Wireshark 无法直接解析
CTF 里的可能考点:
- 流量识别(给你一堆流量让你找出 VMESS 流量)
- 已知密钥的情况下解密(手工解析 VMESS 协议头)
- VMESS 的 ID/alterID 等识别信息泄漏在流量的某个字段中
如果你在流量包里看到 VMess 字符串或者 V2Ray 相关的特征字节(如 VMess 的协议版本号),说明这里面有 VMESS 流量。一般做 Misc 不会要求你破解 VMESS——找到它就行了。
流量分析工具速查
| 工具 | 用途 |
|---|---|
| Wireshark | 图形化分析,最常用 |
| tshark | Wireshark 的命令行版本,批量提取字段 |
| NetworkMiner | 自动提取传输的文件 |
| binwalk | 扫描 pcap 中嵌入的文件 |
| foremost | 从 pcap 中 carving 文件 |
| scapy (python) | 写脚本自定义解析流量包 |
| aircrack-ng | WiFi 密码破解 |