导读:
Shadowrocket(小火箭)HTTPS解密(MITM)配置教程
⚠️ 安全警告:HTTPS解密会降低通信安全性,仅建议用于本地调试、API分析或去广告等合法用途,配置后,你的HTTPS流量将对Shadowrocket可见,请确保设备安全,避免在公共网络开启此功能。
- iOS设备(iOS 13+ 证书信任流程有变化,需注意)
- 已安装Shadowrocket(需美区Apple ID购买)
- 明确的解密目标(建议只针对特定域名,而非全部流量)
配置步骤
步骤1:生成CA证书
- 打开Shadowrocket → 配置 → 点击当前使用的配置文件(右侧"i"图标)
- 找到 "HTTPS解密"(HTTPS Decryption)
- 点击 "生成新的CA证书"(Generate New CA Certificate)
- 点击 "安装证书"(Install Certificate),系统会跳转到Safari下载描述文件
步骤2:安装描述文件
- 进入iOS 设置 → 顶部会出现 "已下载描述文件"(Profile Downloaded)
- 点击进入 → 安装 → 输入锁屏密码 → 继续安装
- 完成后显示"已安装"
步骤3:信任证书(关键步骤,iOS 13+)
- 返回设置主界面 → 通用 → 关于本机
- 滑到底部 → 证书信任设置(Certificate Trust Settings)
- 找到 Shadowrocket CA 开头的证书 → 打开开关 → 点击"继续"
- iOS 12及以下:在"通用→描述文件与设备管理"中信任即可
步骤4:开启解密功能
- 回到Shadowrocket的HTTPS解密设置
- 打开 "启用HTTPS解密"(Enable HTTPS Decryption)开关
- 在 "主机名"(Hostname)中添加需要解密的域名:
# 示例格式(支持通配符*): *.example.com api.target.com
验证配置
- 开启Shadowrocket代理
- 访问目标HTTPS网站/App
- 在Shadowrocket的 "工具" → "日志" 中查看:
- 如果能看到HTTPS请求的详细内容(URL、Header、Body),说明解密成功
- 如果显示"TCP连接"或无详细内容,检查证书信任状态
常见问题解决
| 问题 | 解决方案 |
|---|---|
| 无法安装证书 | 确保Safari能正常访问网络,关闭其他VPN后重试 |
| 解密不生效 | 检查"证书信任设置"中是否开启完全信任;确认主机名格式正确(不需要https://) |
| 部分App无法联网 | 该App可能启用SSL Pinning(证书固定),无法被解密,需将其加入绕过列表 |
| iOS 16+无法信任 | 确保在"设置→通用→VPN与设备管理"中先安装,再去"关于本机"中信任 |
安全建议
- 最小化原则:只添加需要分析的具体域名,不要使用解密全部流量
- 及时关闭:调试完成后,关闭HTTPS解密开关或删除证书(设置→通用→VPN与设备管理→删除Shadowrocket描述文件)
- 隐私保护:解密后的日志可能包含敏感信息(Cookie、Token),定期清理Shadowrocket日志
应用场景示例
- 去广告:解密广告API返回,配合脚本重写响应
- API调试:查看App与服务器的具体通信内容
- 流量分析:统计特定App的数据传输情况
注意:部分金融类、银行类App检测到中间人证书会拒绝运行或提示风险,这是正常现象,将这些域名加入不解密列表即可。