Shadowrocket(小火箭)的HTTPS解密功能可实现流量分析与接口调试,本文详解证书生成、安装、信任全流程,配合分流规则实现精准抓包,适用于iOS应用开发与网络诊断场景。
HTTPS解密的核心价值
在iOS网络加速与开发调试场景中,Shadowrocket(俗称"小火箭")的HTTPS解密功能是分析加密流量的关键工具,通过中间人代理(MITM)技术,可查看HTTPS请求详情,排查接口异常,优化国际网络加速策略。
证书配置四步流程
生成CA证书
进入Shadowrocket设置 → 证书 → 生成新的CA证书,系统会创建1024位或2048位RSA密钥对,此证书用于解密HTTPS流量,需妥善保管私钥。
安装描述文件
点击"安装证书",选择"复制到剪贴板"或通过AirDrop传输至Mac,也可直接选择"安装",iOS会跳转至设置 → 通用 → VPN与设备管理,显示下载的描述文件。
信任证书设置
关键步骤:进入设置 → 通用 → 关于本机 → 证书信任设置,找到Shadowrocket CA并开启完全信任,iOS 10.3+系统必须手动启用此开关,否则小火箭HTTPS解密功能无法生效。
开启HTTPS解密
返回Shadowrocket,在配置编辑界面添加MITM配置:
mitm:
enable: true
ca: Shadowrocket CA
hostname:
- "*.example.com"
- "api.github.com"
Clash代理组与解密协同
当小火箭加载Clash配置时,代理组类型影响解密流量的路由策略:
Select(手动选择):调试特定节点时,手动切换至目标服务器,配合HTTPS解密分析该节点下的API响应。
URL-Test(自动测速):自动选择延迟最低节点,解密流量可记录各节点的TLS握手时间,评估真实性能。
Fallback(故障转移):主节点失效时自动切换,解密日志可捕获连接重置(RST)包,定位故障节点。
TUN模式与系统代理差异
系统代理模式:仅代理HTTP/HTTPS流量,适合浏览器调试,Shadowrocket在此模式下解密Web流量,但无法捕获App的TCP直连。
TUN模式:创建虚拟网卡接管所有流量(含UDP、ICMP),适用于游戏加速与全流量抓包,开启TUN后,HTTPS解密可分析微信、抖音等App的加密接口,但会增加CPU负载。
配置TUN需开启:
tun: enable: true stack: system dns-hijack: true
分流规则优先级写法
精准抓包需配置分流规则,避免解密敏感流量:
rules: - DOMAIN,api.stripe.com,DIRECT # 金融类直连 - DOMAIN-SUFFIX,google.com,Proxy # 指定域名走代理 - IP-CIDR,192.168.0.0/16,DIRECT # 局域网直连 - GEOIP,CN,DIRECT # 国内IP直连 - MATCH,Proxy # 兜底
优先级自上而下匹配,建议将需解密的调试域名置于顶部,使用REJECT或指定代理组。
FAQ常见问题
现象:开启解密后App提示"证书无效"
原因:部分App启用SSL Pinning(证书固定),检测到非原生证书。
解决:在Shadowrocket的MITM配置中添加skip-server-cert-verify: true,或绕过该App不解密。
现象:iOS 15+系统安装证书后仍无法解密 原因:证书未在"关于本机"中完全信任。 解决:设置 → 通用 → 关于本机 → 证书信任设置 → 启用Shadowrocket CA的完全信任开关。
现象:TUN模式下解密导致网速下降 原因:流量先经TUN虚拟网卡,再经MITM解密,双重处理增加延迟。 解决:仅对特定域名开启解密,避免全局MITM;或切换至系统代理模式仅调试浏览器。
节点配置建议
进行HTTPS解密时,建议选择支持TLS 1.3的节点以获得更详细的握手信息,对于需要长期抓包分析的跨境办公需求,可考虑具备专用线路的订阅服务,确保解密过程中连接稳定性,部分高端订阅提供WireGuard协议,在TUN模式下解密效率优于传统协议。
通过合理配置小火箭的HTTPS解密功能,结合Clash的分流策略,可构建高效的iOS网络调试环境,满足学术资源访问与开发测试的双重需求。