Charles 4.6.6 HTTPS抓包:iOS 17与Android 14双平台证书信任配置3步详解 Charles 4.6.6 HTTPS抓包iOS 17与Android 14双平台证书信任配置实战指南移动应用开发与测试过程中HTTPS抓包是定位问题、分析网络行为的关键技能。本文将深入讲解Charles 4.6.6在最新移动操作系统iOS 17和Android 14上的HTTPS抓包配置特别是证书信任这一核心环节的实操细节。1. 环境准备与基础配置在开始之前确保你已具备以下条件安装Charles 4.6.6的电脑Windows/Mac均可iOS 17或Android 14设备电脑与移动设备处于同一局域网关键检查点关闭电脑防火墙或添加Charles例外规则确保移动设备能ping通电脑IP准备Type-C转USB或Lightning数据线可选用于辅助调试提示使用ipconfig(Windows)或ifconfig(Mac)获取电脑IP时注意选择无线局域网适配器的地址而非虚拟网卡地址。2. 电脑端Charles基础设置2.1 代理端口配置打开Charles进入菜单Proxy Proxy Settings设置HTTP代理端口为8888默认值勾选Enable transparent HTTP proxying# 验证端口是否被占用Mac/Linux lsof -i :8888 # Windows等效命令 netstat -ano | findstr 88882.2 SSL代理全局设置配置项推荐值说明Enable SSL Proxy勾选启用HTTPS解密功能Include*:443监听所有443端口HTTPS流量操作路径Proxy SSL Proxying Settings3. iOS 17证书安装与信任3.1 设备代理配置进入iOS设置 Wi-Fi点击当前连接右侧的i图标滑动到最底部选择配置代理选择手动输入电脑IP和端口88883.2 证书安装流程在Charles中点击Help SSL Proxying Install Charles Root Certificate on a Mobile Device使用Safari访问chls.pro/ssl自动跳转下载完成后进入设置 通用 VPN与设备管理安装Charles Proxy CA证书3.3 关键信任设置iOS 17新增了证书信任层级控制进入设置 通用 关于本机滑动到底部选择证书信任设置启用Charles证书的完全信任常见问题排查如果仍显示unknown尝试重启Charles和iOS设备确认日期时间设置正确检查是否启用了iCloud私人中继4. Android 14证书配置深度解析4.1 基础代理配置长按已连接WiFi 修改网络高级选项 代理选择手动输入电脑IP和端口88884.2 证书安装特殊处理Android 14对用户证书的限制更加严格使用Chrome访问chls.pro/ssl下载证书后命名为charles.pem进入设置 安全 更多安全设置 加密与凭据选择安装证书 CA证书必须执行的adb命令# 将证书移动到系统证书目录需root adb push charles.pem /system/etc/security/cacerts/ adb shell chmod 644 /system/etc/security/cacerts/charles.pem4.3 网络安全性配置对于目标应用需在AndroidManifest.xml中添加network-security-config base-config cleartextTrafficPermittedtrue trust-anchors certificates srcsystem / certificates srcuser / /trust-anchors /base-config /network-security-config5. 双平台抓包验证与调试技巧5.1 请求过滤最佳实践推荐组合使用以下过滤方式焦点模式右键关键请求选择Focus域名过滤在Filter栏输入example.com高级过滤Proxy Recording Settings中设置包含规则5.2 HTTPS解密验证表现象可能原因解决方案显示SSL Proxying配置正确-显示Unknown证书未信任检查系统证书存储位置连接重置证书固定(Cert Pinning)使用frida等工具绕过只有CONNECT请求SSL代理未启用检查SSL Proxy Settings5.3 高级调试技巧重写功能实时修改请求/响应Tools Rewrite断点调试拦截特定请求进行修改右键请求选Breakpoints带宽模拟测试弱网环境Proxy Throttle Settings# 示例使用Python自动切换代理设置Mac import os def set_proxy(ip, port): os.system(fnetworksetup -setwebproxy Wi-Fi {ip} {port}) os.system(networksetup -setsecurewebproxy Wi-Fi {ip} {port})6. 企业级应用特殊处理对于银行类等严格校验的应用还需要禁用证书透明度检查关闭TLS 1.3的某些扩展使用Xposed模块绕过SSL验证Android专属方案# 使用Magisk模块安装系统级证书 magisk --install-module charles_system_cert.zip在实际项目中遇到最难处理的是金融类应用的证书锁定机制通常需要结合动态逆向分析才能完成抓包。建议准备多台测试设备其中至少一台保持未root/未越狱状态用于对比测试。