导读:
Shadowrocket 不仅是一款代理工具,也内置了强大的抓包(Packet Capture)功能,以下是详细的抓包教程,分为基础 HTTP 抓包和 HTTPS 解密抓包两部分。
- 设备要求:iPhone/iPad(iOS 12.0+)
- 应用获取:App Store 购买下载(付费应用)
- 权限准备:确保 Shadowrocket 已获得本地网络和VPN权限
基础 HTTP 抓包(无需证书)
适用于抓取未加密的 HTTP 请求:
开启抓包功能
- 打开 Shadowrocket → 底部设置(Settings)
- 选择工具(Tools)→ 抓包(Packet Capture)
- 打开抓包开关(Enabled)
- 返回首页,开启 Shadowrocket 连接(主开关)
开始抓包
- 保持 Shadowrocket 在后台运行
- 打开目标 App 或浏览器进行操作
- 返回 Shadowrocket → 设置 → 工具 → 抓包 → 查看记录(View History)
查看数据
- 按时间顺序显示所有请求
- 点击单条记录可查看:
- 请求 URL、Method、Headers
- 响应 Headers、Body(文本/JSON 格式)
HTTPS 解密抓包(重点)
抓取加密 HTTPS 流量需要安装中间人证书(MITM):
步骤 1:生成/下载证书
- Shadowrocket → 设置 → 工具 → 抓包
- 点击生成证书(Generate Certificate)
- 点击安装证书(Install Certificate),系统会跳转到浏览器下载描述文件
步骤 2:安装描述文件
- iOS 设置 → 通用 → VPN 与设备管理(或"描述文件")
- 找到 Shadowrocket 的证书(通常显示为
Shadowrocket CA) - 点击安装,输入锁屏密码确认
步骤 3:信任证书(关键)
- 设置 → 通用 → 关于本机 → 证书信任设置
- 找到 Shadowrocket CA,打开完全信任开关
- 确认弹窗警告(⚠️ 仅用于抓包调试,用完后建议关闭)
步骤 4:开启 HTTPS 解密
- 返回 Shadowrocket 抓包设置
- 打开解密 HTTPS 流量(Decrypt HTTPS Traffic)
- 可设置主机名过滤(Hostname Filter),只抓取特定域名(如
*.api.example.com)
高级配置与技巧
过滤设置(减少噪音)
在抓包设置中配置:
- 包含域名(Include Hostnames):只抓指定域名,如
api.wechat.com, *.tiktokv.com - 排除域名(Exclude Hostnames):过滤掉图片/视频 CDN,如
*.cloudfront.net, *.googlevideo.com
导出抓包数据
- 在抓包历史页面,点击右上角分享按钮
- 支持导出为
.txt、.json或原始数据 - 可通过 AirDrop 发送到电脑用 Charles、Wireshark 分析
快捷操作
- 长按连接开关:快速开启/关闭抓包(需在设置中开启"长按快捷操作")
- Widget 小组件:添加抓包状态到锁屏或桌面
实战示例:抓取某 App API
以抓取某应用登录接口为例:
- 准备:开启 Shadowrocket 和抓包,确保证书已信任
- 过滤:在 Hostname Filter 中添加该 App 的 API 域名(如
api.app.com) - 操作:在目标 App 中执行登录
- 分析:
- 在抓包记录中找到
POST /login请求 - 查看 Request Body:看到明文传输的账号密码(⚠️ 危险示例,正规应用应加密)
- 查看 Response:获取 Token、用户信息等
- 在抓包记录中找到
注意事项与排错
⚠️ 安全警告
- 隐私风险:抓包会记录所有流量,包含敏感信息(Cookie、Token、密码),切勿分享原始抓包文件给他人
- 法律合规:仅对自己开发或授权测试的应用进行抓包,禁止用于窃取他人数据或破解接口
常见问题
| 问题 | 解决方案 |
|---|---|
| 无法安装证书 | 确保 Safari 能正常打开网页,关闭"下载限制" |
| HTTPS 显示乱码 | 检查证书是否已在"关于本机"中完全信任 |
| 某 App 无法抓包 | 该 App 可能启用 SSL Pinning(证书固定),Shadowrocket 无法绕过,需用 Thor 或 Stream |
| 抓包记录为空 | 确认 Shadowrocket 主开关已开启,且路由模式不是"直连" |
替代工具推荐
Shadowrocket 抓包功能无法满足需求(如无法绕过 SSL Pinning):
- Stream:免费,专为抓包设计,支持重写和脚本
- Thor:付费,功能强大,支持过滤器
- HTTP Catcher:付费,界面友好,适合新手
关闭抓包(重要)
使用完毕后建议:
- 关闭抓包开关
- 设置 → 通用 → 关于本机 → 证书信任设置 → 关闭 Shadowrocket CA 信任(防止证书被恶意利用)
- 可选:设置 → 通用 → VPN 与设备管理 → 删除 Shadowrocket 描述文件
提示:Shadowrocket 的抓包功能适合快速调试,如需专业分析,建议导出到 Charles 或 Wireshark 进行深度分析。