MISC入门---流量分析
前言
流量分析题通常会给一个 PCAP 或 PCAPNG 文件。它记录了网络接口在一段时间内捕获到的数据包,类似于一份“网络通信录像”。我们要从中还原通信双方做了什么,寻找传输的文本、文件或异常行为。
刚打开抓包时,成百上千个数据包看起来很乱。新手不必逐包从头读到尾,可以按“先概览、再过滤、后追踪、最后提取”的顺序缩小范围。本文使用 Wireshark 介绍最常见的入门流程。
一、先认识数据包和协议
网络数据会被拆成许多数据包。每个包可能包含不同层的信息:以太网帧、IP 地址、TCP 或 UDP 端口,以及 HTTP、DNS 等应用层内容。Wireshark 会按协议解析这些字段并逐层显示。
常见名词:
- 源地址 / 目的地址:数据从哪里来、发往哪里。IP 地址表示网络主机,端口通常用来区分主机上的服务。
- TCP:面向连接,能够按序重组数据。网页访问和文件传输常能看到 TCP。
- UDP:不建立同样的连接状态,DNS、语音和一些游戏通信经常使用。
- 协议解析:Wireshark 根据端口、内容特征等猜测数据属于哪种协议。端口不是绝对的,非标准端口可能需要“Decode As”或进一步检查。
- Follow Stream(追踪流):把同一 TCP/UDP 会话中的数据按方向和顺序组合起来,方便阅读完整对话。
二、打开抓包后先看整体
在 Wireshark 中打开文件后,先确认抓包时间、数据包数量和是否存在错误提示。然后查看“统计”菜单里的协议层级、会话或端点统计:
- Protocol Hierarchy:大概了解 DNS、HTTP、TCP、USB 等协议各占多少。
- Conversations / Endpoints:查看哪些主机互相通信、使用哪些端口、交换了多少数据。
- 时间范围:异常的长连接、短时间内大量请求或突然出现的数据传输,都可能值得关注。
不要看到一条连接就马上断定它可疑。应结合题目提示、通信内容、时间和数据量一起判断。
三、过滤器是缩小范围的关键
Wireshark 有两类过滤器:
- 捕获过滤器:开始抓包前设置,决定哪些流量会被记录;已经打开的 PCAP 不能靠它恢复当初没抓到的数据。
- 显示过滤器:打开抓包后临时筛选显示内容,不会删除原数据,适合解题时反复试条件。
常用显示过滤器示例:
http
http.request
dns
tcp.port == 80
ip.addr == 192.168.1.10
tcp.stream eq 0
frame contains "flag"
点击某个数据包后,可以展开中间窗格里的协议字段;右键字段通常能快速添加过滤条件。过滤条件应以 Wireshark 实际解析出的字段为准。比如 HTTP 过滤器没有结果,不代表没有网页流量,也可能是抓包使用了 HTTPS 或 HTTP 位于非标准端口。
四、追踪 TCP 流并读懂 HTTP
发现可疑包后,右键选择“追踪 → TCP 流”。窗口会合并同一连接的双向内容,通常用不同颜色区分客户端和服务器。读的时候注意请求和响应分别是谁发出的,也留意 URI、请求体、响应状态码、响应体及 Content-Type。
我做过的一道题里,HTTP 响应中出现一段很长、字符集像 Base64 的字符串。提取后解码,结果不是普通文字,而是一张图片;打开图片后才看到 flag。遇到长字符串时,先判断字符集和编码,再检查解码输出是什么类型。Base64 解码出来可能是文字,也可能是 PNG、ZIP 等二进制文件。

在这道 WP 中,解码后的图片内容对应 flag{209acebf6324a09671abc31c869de72c}。如果输出是图片,可按文件头保存为对应扩展名,再用图片工具打开;如果是压缩包或文本,也要根据实际内容继续检查。
五、从流量中导出文件
如果抓包传输过图片或压缩包,可以尝试 Wireshark 的“文件 → 导出对象 → HTTP”。导出后先识别文件类型,再用对应工具分析。HTTP 导出不适用于所有协议;如果文件走的是 FTP、SMB 或自定义协议,需要查看 Wireshark 是否支持该协议对象,或通过追踪 TCP 流重组内容。
检查导出结果时,注意:
- 请求和响应是否完整,文件是否被分段或截断;
- Content-Type 与文件真实类型是否一致;
- 内容是否经过 Base64、URL 编码、gzip 等处理;
- 解码后是否还包着第二层文件或数据。
每一步都保留输入和输出,例如先保存原始 HTTP 响应,再提取 Base64 部分,最后把解码后的字节写成文件。这样出错时可以回到前一步检查,而不用重新猜整道题。
六、常见流量题型
- HTTP 明文:检查 URI、请求参数、Cookie、请求体和响应体。
- DNS:查看异常长的域名、查询频率、TXT 记录或看起来像编码的子域名。
- ICMP / UDP:关注数据区和包序号,题目可能要求按顺序拼接载荷。
- USB HID:识别键盘或鼠标报告字段,再用对应键码表还原操作。
- 文件传输:导出 HTTP 对象或从相关协议会话重组文件。
- TLS / HTTPS:没有会话密钥时,通常只能分析连接元数据,不能把加密载荷当作明文直接搜索。
七、常见误区
- 只看单个包:应用层内容可能跨越多个 TCP 段,先追踪整个会话。
- 把显示过滤器当删除操作:它只是隐藏不匹配的数据,清除过滤条件就能恢复查看。
- 把所有长字符串都当 Base64:先检查字符集、填充、解码结果和文件头。
- 看到 HTTPS 就放弃:仍可分析通信双方、域名、时间、证书和流量大小,只是内容可能不可见。
- 只相信端口号:服务可能跑在非标准端口,协议解析也可能需要手动确认。
- 把单个异常直接当答案:线索最好能由多个字段或步骤相互印证。
总结:从全局到细节
入门流量题可以按这个顺序练习:先看协议统计和会话,定位可疑主机与端口;再用显示过滤器缩小范围;追踪对应的 TCP/UDP 流;最后提取数据、识别文件并按需解码。分析时记下流编号、方向、过滤器和每步结果,既方便复查,也能帮助你理解题目到底利用了哪一层网络信息。

浙公网安备 33010602011771号