网络协议分析(CTF 入门博客)
一、什么是网络协议分析
网络协议分析,就是对网络传输过程中捕获的流量数据包(通常是 .pcap 或 .pcapng 文件)进行查看、筛选、追踪和解码,从中找到关键信息。
在 CTF 中,这类题目通常会给一个抓包文件,我们的任务就是:
打开文件 → 筛选协议 → 追踪流 → 找到 flag。
二、本周学习的工具:Wireshark
这一周我主要使用 Wireshark 进行学习。它是最常用的网络抓包与分析工具,界面清晰、功能强大。
学习过程中我掌握了:
• 打开 pcap 流量包
• 使用协议过滤器(http、tcp、udp、dns、icmp 等)
• 搜索关键词(flag、password、user 等)
• 追踪 TCP/UDP/HTTP 数据流
• 查看数据包原始内容
三、典型协议分析示例
下面是我这一周练习的几种典型题型,都配有图片示例说明,方便理解。
1. HTTP 协议明文传输示例
打开流量包后,在过滤器输入:
可以看到所有 HTTP 请求包。
图片描述:
界面上方是数据包列表,中间是协议解析区,下方是原始数据区。
在一个 HTTP GET 请求中,可以直接看到 URL 里包含 flag= 字样,或者 POST 数据里有用户名密码明文。
通过右键 → 追踪 HTTP 流,可以看到完整的请求内容,flag 直接出现在页面内容里。
2. TCP 流中隐藏 flag 示例
过滤器:
图片描述:
在大量 TCP 数据包中,找到长度明显较大的包。
右键 → 追踪 TCP 流,会弹出一个窗口,里面显示完整的传输内容。
我在练习中遇到过 flag 直接藏在 TCP 流文本里,也遇到过是 Base64 编码,解码后得到明文 flag。
3. DNS 协议分片传递信息
过滤器:
dns
图片描述:
界面会显示一系列 DNS 查询请求。
每个查询的域名中包含一段字符,例如:
把这些字符按顺序拼接,就能得到 flag{...}。
4. ICMP(Ping 包)隐写
过滤器:
icmp
图片描述:
选中一个 ICMP 包,在协议解析区展开“数据”部分,可以看到十六进制数据。
将这些 hex 内容转为字符串,就能看到隐藏的信息。
四、总结的解题流程
1. 用 Wireshark 打开 pcapng 文件
2. 搜索关键词:flag、password、admin
3. 按协议过滤:http、dns、icmp、tcp
4. 追踪数据流,查看完整内容
5. 对编码内容进行解码(Base64、16进制等)
6. 得到最终 flag
五、学习收获
• 理解了常见网络协议的基本工作方式
• 熟练使用 Wireshark 进行流量分析
• 能独立完成入门级 CTF 流量题
• 知道了数据在网络中是如何被传输和捕获的
