抓包基础入门
一、抓包核心概念
- 目标:捕获网络流量,分析HTTP/HTTPS及其他协议数据(如TCP/UDP)。
- 适用场景:Web、App、小程序、PC应用的协议分析、漏洞测试、数据监听。
二、主流抓包工具对比
工具 | 平台 | 特点 | 典型场景 |
---|---|---|---|
Burp Suite | Windows/macOS/Linux | 渗透测试首选,支持HTTP/HTTPS拦截、改包、插件扩展 | Web漏洞测试、App接口分析 |
Fiddler | Windows | 界面友好,适合HTTP/HTTPS调试 | 浏览器/Windows应用抓包 |
Charles | macOS/Windows | 跨平台,支持移动端抓包(iOS/Android) | 移动端App/小程序抓包 |
Proxifier | Windows | 代理转发工具,支持非HTTP协议抓包 | PC应用无内置代理时的转发 |
Wireshark | 全平台 | 底层协议分析(如TCP/UDP/IP),需语法筛选 | 游戏封包、自定义协议分析 |
科莱分析 | Windows | 图形化界面,支持应用/进程/IP筛选 | 新手入门、网络流量统计 |
三、HTTP/HTTPS抓包关键操作
1. 通用步骤
- 配置代理:
- 工具启动后生成代理地址(如
127.0.0.1:8080
)。 - 目标设备/应用设置代理指向该地址。
- 工具启动后生成代理地址(如
- 安装证书(HTTPS抓包必需):
- 工具官网下载证书(如Burp的
cacert.der
),安装到系统或浏览器信任列表。 - 移动端需在设置中手动信任证书(如Android的“安全”→“加密与凭据”)。
- 工具官网下载证书(如Burp的
2. 分场景操作
场景 | 工具 | 关键配置 |
---|---|---|
浏览器Web | Burp/Fiddler/Charles | 浏览器代理设置(Chrome/Firefox手动配置) |
安卓应用 | Charles/Burp | 模拟器/真机设置WLAN代理→安装证书→信任证书 |
PC微信小程序 | Charles+Burp/Proxifier+Burp | 系统全局代理→工具联动转发(需关闭微信自动代理) |
无代理PC应用 | Proxifier+Burp | Proxifier设置代理规则→指定进程走Burp代理 |
四、非HTTP协议抓包
- 游戏/自定义协议:
- 工具:Wireshark(需懂协议语法,如过滤
tcp port 8080
)、科莱分析(图形化筛选进程/IP)。 - 场景:抓取游戏封包(如通信地址、数据格式),测试协议漏洞(如重放攻击)。
- 工具:Wireshark(需懂协议语法,如过滤
- 操作要点:
- 直接监听网卡流量,无需代理(Wireshark选择对应网络接口)。
- 分析原始数据包(如TCP标志位、UDP payload),需结合协议文档。
五、常见问题与防护检测
1. 抓不到包的原因
- 代理未配置:目标应用未指向工具代理地址。
- 证书问题:HTTPS抓包未安装或不信任证书,导致连接失败。
- 应用防护:
- 检测代理环境(如部分银行App检测到代理直接崩溃)。
- 双向认证(客户端证书校验,需导入工具证书到应用信任列表)。
2. 防护绕过思路
- 证书伪装:将工具证书伪装成系统根证书(需获取设备Root/越狱权限)。
- 流量转发:通过Proxifier等工具将非代理应用的流量强制转发到抓包工具。
- 协议混淆:部分应用使用自定义加密协议(如WebSocket+AES),需先逆向分析密钥。
六、工具联动配置示例(以Burp为例)
1. Proxifier + Burp 抓包无代理PC应用
- 启动Burp,监听本地端口(如
127.0.0.1:8080
)。 - 打开Proxifier,添加代理服务器
127.0.0.1:8080
。 - 创建规则:指定目标进程(如
wechat.exe
)→ 应用代理服务器 → 保存生效。
2. Charles + Burp 抓包小程序
- Charles启动代理(如
127.0.0.1:8888
),配置Burp作为上游代理(Proxy → Proxy Listeners → 监听127.0.0.1:8080
)。 - 系统全局代理设为Charles地址,Burp通过Charles获取流量并处理。
本文是原创文章,采用CC BY-NC-SA 4.0协议,完整转载请注明来自Ciallo~(∠・ω< )⌒★
评论