导读:
Shadowrocket(小火箭)HTTPS解密(MITM)配置教程
⚠️ 重要声明:HTTPS解密(中间人攻击/MITM)仅适用于合法的网络调试、安全研究或分析自己的应用流量,请勿用于窃取他人隐私数据或非法用途,否则将承担法律责任。
HTTPS解密通过在小火箭本地生成CA证书,对特定域名的SSL/TLS流量进行"中间人"解密,使你可以查看加密HTTPS请求的明文内容(如请求头、响应体等)。
配置步骤
步骤1:生成CA证书
- 打开 Shadowrocket → 设置(底部Config)
- 点击 证书(Certificate)
- 选择 生成新的CA证书(Generate New CA Certificate)
- 系统会提示"已生成新的CA证书"
步骤2:安装证书到iOS系统
- 在证书页面,点击 安装证书(Install Certificate)
- 系统会跳转到Safari并下载描述文件
- 进入 设置 → 通用 → VPN与设备管理(或"描述文件")
- 找到 Shadowrocket 的证书,点击 安装
- 输入锁屏密码确认
步骤3:信任证书(关键步骤)
iOS 13+ / iPadOS 13+ 必须操作:
- 进入 设置 → 通用 → 关于本机 → 证书信任设置
- 找到 Shadowrocket 的证书,开启"完全信任"(Enable Full Trust)
步骤4:开启HTTPS解密
- 回到 Shadowrocket 主界面
- 点击底部 配置(Config)→ 选择当前使用的配置编辑
- 找到 HTTPS解密(HTTPS Decryption)或 MITM
- 开启开关 启用MITM(Enable MITM)
- 配置解密域名:
- 方式A:解密全部(不推荐,性能开销大)
- 方式B:添加特定域名(推荐)
- 点击 添加主机名(Add Hostname)
- 输入需要解密的域名,如:
*.example.com或api.example.com
步骤5:验证配置
- 开启小火箭代理
- 访问已配置解密的HTTPS网站
- 在 工具 → 日志(Recent Requests)中查看请求详情
- 应能看到解密后的明文请求/响应内容
常见问题解决
| 问题 | 解决方案 |
|---|---|
| 证书安装后仍显示"不信任" | 检查是否在"关于本机→证书信任设置"中开启了完全信任 |
| 无法解密特定App流量 | 部分App使用SSL Pinning(证书固定),无法通过常规MITM解密 |
| iOS 15+ 证书安装失败 | 确保证书格式为.pem,尝试重新生成证书 |
| 解密后App无法联网 | 该App可能有防MITM机制,需将其加入解密黑名单或关闭对此域名的解密 |
安全注意事项
- 证书安全:生成的CA证书私钥存储在你的设备上,不要导出或分享给他人,否则他人可伪造你的HTTPS流量
- 系统风险:开启"完全信任"后,该证书可签发任意网站的证书,如设备被入侵存在安全风险
- 完成后关闭:调试结束后建议:
- 关闭HTTPS解密功能
- 在系统设置中关闭对该证书的信任(或删除证书)
- 银行/支付类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无法解密其流量,这是正常现象。