准备工作完全指南,项目启动前的关键步骤与注意事项

导读:

  1. 基础 HTTP 抓包(无需证书)
  2. HTTPS 解密抓包(重点)
  3. 高级配置与技巧
  4. 实战示例:抓取某 App API
  5. 注意事项与排错
  6. 关闭抓包(重要)

Shadowrocket 不仅是一款代理工具,也内置了强大的抓包(Packet Capture)功能,以下是详细的抓包教程,分为基础 HTTP 抓包和 HTTPS 解密抓包两部分。

  1. 设备要求:iPhone/iPad(iOS 12.0+)
  2. 应用获取:App Store 购买下载(付费应用)
  3. 权限准备:确保 Shadowrocket 已获得本地网络VPN权限

基础 HTTP 抓包(无需证书)

适用于抓取未加密的 HTTP 请求:

开启抓包功能

  1. 打开 Shadowrocket → 底部设置(Settings)
  2. 选择工具(Tools)→ 抓包(Packet Capture)
  3. 打开抓包开关(Enabled)
  4. 返回首页,开启 Shadowrocket 连接(主开关)

开始抓包

  • 保持 Shadowrocket 在后台运行
  • 打开目标 App 或浏览器进行操作
  • 返回 Shadowrocket → 设置 → 工具 → 抓包 → 查看记录(View History)

查看数据

  • 时间顺序显示所有请求
  • 点击单条记录可查看:
    • 请求 URL、Method、Headers
    • 响应 Headers、Body(文本/JSON 格式)

HTTPS 解密抓包(重点)

抓取加密 HTTPS 流量需要安装中间人证书(MITM):

步骤 1:生成/下载证书

  1. Shadowrocket → 设置 → 工具 → 抓包
  2. 点击生成证书(Generate Certificate)
  3. 点击安装证书(Install Certificate),系统会跳转到浏览器下载描述文件

步骤 2:安装描述文件

  1. iOS 设置通用VPN 与设备管理(或"描述文件")
  2. 找到 Shadowrocket 的证书(通常显示为 Shadowrocket CA
  3. 点击安装,输入锁屏密码确认

步骤 3:信任证书(关键)

  1. 设置 → 通用 → 关于本机证书信任设置
  2. 找到 Shadowrocket CA,打开完全信任开关
  3. 确认弹窗警告(⚠️ 仅用于抓包调试,用完后建议关闭)

步骤 4:开启 HTTPS 解密

  1. 返回 Shadowrocket 抓包设置
  2. 打开解密 HTTPS 流量(Decrypt HTTPS Traffic)
  3. 可设置主机名过滤(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

以抓取某应用登录接口为例:

  1. 准备:开启 Shadowrocket 和抓包,确保证书已信任
  2. 过滤:在 Hostname Filter 中添加该 App 的 API 域名(如 api.app.com
  3. 操作:在目标 App 中执行登录
  4. 分析
    • 在抓包记录中找到 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:付费,界面友好,适合新手

关闭抓包(重要)

使用完毕后建议:

  1. 关闭抓包开关
  2. 设置 → 通用 → 关于本机 → 证书信任设置 → 关闭 Shadowrocket CA 信任(防止证书被恶意利用)
  3. 可选:设置 → 通用 → VPN 与设备管理 → 删除 Shadowrocket 描述文件

提示:Shadowrocket 的抓包功能适合快速调试,如需专业分析,建议导出到 Charles 或 Wireshark 进行深度分析。

您可以还会对下面的文章感兴趣: