如何做好准备工作,详细步骤与关键要点

导读:

  1. HTTPS 抓包核心:证书配置
  2. 开启抓包功能
  3. 实际操作与查看
  4. 高级技巧
  5. 安全与法律注意事项
  6. 常见问题

安装应用

  • Shadowrocket 是付费应用(约 $2.99),需使用美区 Apple ID 在 App Store 下载
  • 系统要求:iOS 12.0 或更高版本

基础配置

  • 首次打开需添加代理节点(可以是任意有效节点,本地抓包也需要开启 VPN 接口)
  • 在首页开启连接(状态栏显示 VPN 图标)

HTTPS 抓包核心:证书配置

由于现代应用普遍使用 HTTPS 加密,必须安装 MITM(中间人)证书才能解密查看内容。

步骤 1:生成证书

  1. 打开 Shadowrocket → 点击底部「配置」→ 选择当前使用的配置文件(默认 default.conf
  2. 点击「编辑配置」→「HTTPS 解密
  3. 点击「生成新的 CA 证书」→ 确认生成
  4. 点击「安装根证书」→ 系统会跳转到 Safari 下载描述文件

步骤 2:安装证书到系统

  1. 打开 iOS「设置」→ 顶部会出现「已下载描述文件」→ 点击进入
  2. 点击右上角「安装」→ 输入锁屏密码 → 继续安装
  3. 安装完成后,返回设置主界面

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

  1. 进入「设置」→「通用」→「关于本机」→ 底部「证书信任设置
  2. 找到 Shadowrocket 的证书(通常显示为 Shadowrocket CA 或你生成的名称)
  3. 开启信任开关(这是 iOS 抓包最容易遗漏的步骤)

开启抓包功能

配置 MITM 规则

回到 Shadowrocket:

  1. 配置」→ 编辑配置 →「HTTPS 解密
  2. 开启「启用 MITM」开关
  3. 主机名配置(选择以下一种):
    • 抓全部流量:添加 (通配符,抓取所有域名)
    • 抓特定应用:添加该应用的 API 域名(如 api.example.com
    • 排除敏感域名:建议排除银行、支付类域名(如 *alipay.com, *apple.com

开启记录功能

  1. 返回首页 → 点击底部「设置」(齿轮图标)
  2. 开启「记录流量」→ 建议同时开启「记录 TCP 流量
  3. 可设置「捕获响应体」以查看返回数据(注意内存占用)

实际操作与查看

开始抓包

  1. 确保 Shadowrocket 已连接(VPN 图标显示)
  2. 打开目标 App 进行操作(产生网络请求)
  3. 返回 Shadowrocket → 点击底部「最近请求

分析数据

  • 请求列表:显示时间、域名、方法(GET/POST)、状态码
  • 详情查看:点击单条请求可查看:
    • 请求头(Headers):User-Agent、Cookie、Token 等
    • 请求体(Body):POST 提交的 JSON/表单数据
    • 响应头(Response Headers)
    • 响应体(Response Body):API 返回的 JSON/HTML

导出数据

  • 长按某条请求 →「分享」→ 可导出为文本或通过 AirDrop 发送到电脑
  • 或在「统计」页面查看流量概况

高级技巧

过滤特定应用

在「最近请求」页面顶部搜索框输入域名关键词,或使用「规则」功能将特定 App 走代理以便单独分析。

重写(Rewrite)调试

结合 Shadowrocket 的 Rewrite 功能,可以修改请求参数或响应数据,用于调试 API 边界情况。

与电脑联动

  • 开启 Shadowrocket 的「代理共享」功能
  • 电脑设置 HTTP 代理指向手机 IP 和端口(如 168.1.5:1082
  • 电脑端使用 Charles 或 Burp Suite 进行更专业的分析

安全与法律注意事项

⚠️ 重要提醒

  1. 隐私保护:抓包会记录敏感信息(Token、Cookie、个人信息),切勿将包含此类数据的截图或日志上传到公共平台

  2. 及时清理:抓包完成后,建议:

    • 关闭「记录流量」功能
    • 在「证书信任设置」中关闭 Shadowrocket 证书信任(防止被恶意利用)
    • 或在「通用」→「VPN 与设备管理」中删除该描述文件
  3. 法律边界

    • 允许:调试自己开发的应用、分析公开 API、学习网络协议
    • 禁止:抓取他人账号数据、破解付费功能、窃取商业机密、攻击他人系统
  4. 应用检测:部分金融类 App(银行、支付宝等)会检测 MITM 证书,可能导致闪退或无法联网,这是正常安全机制,请勿强行绕过


常见问题

Q:为什么安装了证书还是显示乱码/无法解密? A:检查三点:1) 证书是否已信任(关于本机里的开关);2) 该域名是否添加到 MITM 主机名列表;3) 目标 App 是否使用 SSL Pinning(证书固定,无法抓包)。

Q:抓包后某些 App 无法联网? A:部分 App 检测到代理环境会拒绝连接,尝试在 Shadowrocket 的「规则」中将该 App 设为「DIRECT」直连,或暂时关闭抓包。

Q:iOS 16/17 证书安装位置变了? A:iOS 16+ 描述文件安装路径:设置 → 通用 → VPN 与设备管理(或描述文件),信任位置仍在「关于本机」→「证书信任设置」。


通过以上步骤,你就可以使用 Shadowrocket 进行移动端网络抓包分析了,建议配合 Postman 或 Charles Proxy 进行更深入的 API 调试工作。

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