{关键词}原理说明及实现机制

导读:

  1. 配置步骤
  2. 常见问题解决
  3. 安全注意事项
  4. 高级配置(配置文件)
  5. 替代方案

Shadowrocket(小火箭)HTTPS解密(MITM)配置教程

⚠️ 重要声明:HTTPS解密(中间人攻击/MITM)仅适用于合法的网络调试、安全研究或分析自己的应用流量,请勿用于窃取他人隐私数据或非法用途,否则将承担法律责任。

HTTPS解密通过在小火箭本地生成CA证书,对特定域名的SSL/TLS流量进行"中间人"解密,使你可以查看加密HTTPS请求的明文内容(如请求头、响应体等)。

配置步骤

步骤1:生成CA证书

  1. 打开 Shadowrocket → 设置(底部Config)
  2. 点击 证书(Certificate)
  3. 选择 生成新的CA证书(Generate New CA Certificate)
  4. 系统会提示"已生成新的CA证书"

步骤2:安装证书到iOS系统

  1. 在证书页面,点击 安装证书(Install Certificate)
  2. 系统会跳转到Safari并下载描述文件
  3. 进入 设置通用VPN与设备管理(或"描述文件")
  4. 找到 Shadowrocket 的证书,点击 安装
  5. 输入锁屏密码确认

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

iOS 13+ / iPadOS 13+ 必须操作:

  1. 进入 设置通用关于本机证书信任设置
  2. 找到 Shadowrocket 的证书,开启"完全信任"(Enable Full Trust)

步骤4:开启HTTPS解密

  1. 回到 Shadowrocket 主界面
  2. 点击底部 配置(Config)→ 选择当前使用的配置编辑
  3. 找到 HTTPS解密(HTTPS Decryption)或 MITM
  4. 开启开关 启用MITM(Enable MITM)
  5. 配置解密域名:
    • 方式A:解密全部(不推荐,性能开销大)
    • 方式B:添加特定域名(推荐)
      • 点击 添加主机名(Add Hostname)
      • 输入需要解密的域名,如:*.example.comapi.example.com

步骤5:验证配置

  1. 开启小火箭代理
  2. 访问已配置解密的HTTPS网站
  3. 工具日志(Recent Requests)中查看请求详情
  4. 应能看到解密后的明文请求/响应内容

常见问题解决

问题 解决方案
证书安装后仍显示"不信任" 检查是否在"关于本机→证书信任设置"中开启了完全信任
无法解密特定App流量 部分App使用SSL Pinning(证书固定),无法通过常规MITM解密
iOS 15+ 证书安装失败 确保证书格式为.pem,尝试重新生成证书
解密后App无法联网 该App可能有防MITM机制,需将其加入解密黑名单或关闭对此域名的解密

安全注意事项

  1. 证书安全:生成的CA证书私钥存储在你的设备上,不要导出或分享给他人,否则他人可伪造你的HTTPS流量
  2. 系统风险:开启"完全信任"后,该证书可签发任意网站的证书,如设备被入侵存在安全风险
  3. 完成后关闭:调试结束后建议:
    • 关闭HTTPS解密功能
    • 在系统设置中关闭对该证书的信任(或删除证书)
  4. 银行/支付类App绝对不要对银行、支付宝、微信等金融类App开启解密,会导致无法连接且存在安全风险

高级配置(配置文件)

如需通过配置文件(.conf)设置:

[MITM]
enable = true
ca-passphrase = Shadowrocket
ca-p12 = 证书base64内容
hostname = *.example.com, api.target.com

替代方案

如果仅需简单抓包,可考虑:

  • Stream:iOS专用抓包工具,操作更简单
  • Thor:支持HTTPS解密,图形化界面更友好
  • PC端Charles/Fiddler:通过WiFi代理方式抓包,无需在iOS安装证书

提示:iOS系统对HTTPS解密限制越来越严格,部分应用(如银行类、部分社交App)已部署SSL Pinning技术,常规MITM无法解密其流量,这是正常现象。

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