抓包本身是中性技术。最常见的正当用法是:调试自己写的应用,看请求到底发了什么、返回了什么。
原理其实就一句话
手机把流量发给你的电脑,电脑里的代理工具解密看一眼再转发出去。要能"解密",就得让手机信任代理生成的证书 —— 这就是"安装证书"那一步的意义。
大致步骤
- 电脑上启动代理工具(Burp / Charles / mitmproxy 都行),确认监听局域网 IP + 8080
- 手机和电脑连同一个 Wi-Fi,把手机 Wi-Fi 的代理设成"手动 → 电脑 IP:8080"
- 手机浏览器下载代理的证书,安装并在系统设置里手动信任(iOS 装完描述文件还要到"关于本机 → 证书信任设置"里打开开关)
- 打开你要调试的应用,历史记录里就能看到请求
为什么经常抓不到
- 应用做了证书校验:只信任自家证书,看到代理的就断开。这是保护机制,绕过它属于逆向研究,且只应在自己的应用上做
- 没走 HTTPS:用的是自有协议,自然看不到 HTTP 请求
- 代理没生效:有些应用忽略系统代理
- 证书没被信任:装完没在系统里打开"信任"开关,这是最常见的坑
合规提醒
- 只抓你自己的、或明确授权给你的应用
- 抓到的数据里可能有他人信息,不要存储、不要外传
- 调试完把手机代理关掉、把证书删掉 —— 留着反而降低安全性