{关键词}准备工作详解,从筹备到落地的完整实施指南

基础要求

  • 已购买安装 Shadowrocket(App Store,约 $2.99)
  • iOS 12.0 或更高版本
  • 建议先配置好基础代理(可选,但通常需要)

安装 HTTPS 证书(关键步骤)

如需抓取 HTTPS 加密流量,必须先安装 MITM 证书:

  1. 生成证书:Shadowrocket → 设置 → 证书 → 生成新的 CA 证书
  2. 安装描述文件:点击"安装证书",系统会跳转到 Safari 下载描述文件
  3. 信任证书
    • 设置 → 通用 → VPN 与设备管理 → 安装下载的描述文件
    • 关键:设置 → 通用 → 关于本机 → 证书信任设置 → 开启 Shadowrocket 证书信任

开启抓包功能

快捷抓包(推荐)

  1. 打开 Shadowrocket 主界面
  2. 点击底部导航栏的"工具"(Tools)
  3. 选择"抓包"(Packet Capture)
  4. 点击右上角"开始"按钮(圆形录制图标)

配合代理抓包

  1. 开启 Shadowrocket 全局代理
  2. 进入 设置 → 工具 → 抓包
  3. 开启"记录流量"开关
  4. 可选择开启"解密 HTTPS"(需已安装证书)

配置抓包参数(进阶)

在抓包设置界面,建议配置:

过滤设置:
   - 包含域名:*.api.example.com(只抓特定接口)
   - 排除域名:*.google.com, *.apple.com(过滤系统流量)
2. 存储设置:
   - 最大记录数:建议 500-1000 条
   - 自动清理:开启(防止占用过多内存)
3. HTTPS 解密:
   - 开启"解密 HTTPS 流量"
   - 选择"跳过证书验证"(测试环境用,生产环境慎用)

执行抓包与分析

实时抓包

  • 点击开始后,切换到目标 App 进行操作
  • 返回 Shadowrocket → 工具 → 抓包,查看实时请求列表

查看请求详情

点击单条记录可查看:

  • 请求:URL、Method、Headers、Body
  • 响应:Status Code、Headers、Body(支持 JSON/图片/文本预览)
  • 时间:DNS 解析、TCP 连接、TLS 握手、传输耗时

导出数据

  • 点击右上角分享按钮 → 导出为 .har 文件
  • 可通过 AirDrop、邮件或文件 App 发送到电脑
  • 在电脑上用 Chrome DevTools、Charles 或 Wireshark 分析

常见问题解决

无法抓取 HTTPS(显示加密)

  • 检查证书是否正确安装并信任
  • 确认"解密 HTTPS"开关已开启
  • 部分 App 使用 SSL Pinning(证书固定),无法抓取(如银行 App、微信部分接口)

抓包导致网络变慢

  • 正常现象,抓包会消耗额外性能
  • 建议抓包时关闭"全局路由",使用"配置"模式减少无关流量

某些 App 无法联网

  • 可能是证书验证失败,将该域名加入 HTTPS 解密黑名单
  • 或临时关闭抓包功能

iOS 16+ 系统限制

  • 部分系统级请求(如 iCloud、推送服务)无法抓取
  • 需要关闭"私有 Wi-Fi 地址"(设置 → Wi-Fi → 点击当前网络 → 私有地址)

实用技巧

  1. 快速筛选:在抓包界面下拉搜索,支持 URL、域名、Method 过滤
  2. 复制 cURL:长按请求 → 复制 cURL 命令,方便在终端复现
  3. 重写测试:结合 Shadowrocket 的"重写"功能,可修改请求参数进行测试
  4. 脚本处理:配合 JavaScript 脚本自动处理抓包数据(高级功能)

注意事项

⚠️ 隐私合规:抓包可能涉及敏感信息,请勿在公共网络抓取他人数据,遵守相关法律法规
⚠️ 证书安全:生成的 CA 证书请妥善保管,避免被恶意利用
⚠️ App 限制:部分金融、支付类 App 检测到抓包会拒绝服务或封号,请谨慎使用

如需更复杂的抓包分析,建议将 .har 文件导入 Charles Proxy 或 Fiddler 进行专业分析。

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