Charles Proxy拦截iOS设备HTTP流量异常求助:真机断网、模拟器抓包不全
问题解决方案
iOS设备设代理后断网修复
- 确认Mac与iOS设备处于同一WiFi网络,Mac的WiFi IP可通过「系统设置」→「网络」→「WiFi」查看,确保iOS代理填写的IP(10.242.242.79)正确
- 开启Charles远程访问权限:打开Charles → 顶部菜单「Proxy」→「Access Control Settings」,添加iOS设备IP或勾选「Allow all computers to connect」(测试场景可用,后续建议限制IP范围)
- 安装并信任Charles根证书到iOS:
- Charles内点击「Help」→「SSL Proxying」→「Install Charles Root Certificate on a Mobile Device or Remote Browser」
- iOS设备访问
chls.pro/ssl下载证书 - 进入iOS「设置」→「通用」→「VPN与设备管理」,信任Charles证书
- 检查Mac防火墙:「系统设置」→「网络」→「防火墙」,确保Charles被允许通过防火墙
Charles模拟器无法捕获自定义API的解决
- 配置SSL代理规则:Charles内「Proxy」→「SSL Proxying Settings」,点击「Add」,填写自定义API的域名(如
api.yourdomain.com)和端口443,勾选该规则 - 同步模拟器代理:要么手动将模拟器代理指向Mac IP+8888,要么在Charles内点击「Proxy」→「macOS Proxy」,让模拟器自动继承Mac代理配置
- 处理自定义API证书:若API用自签名证书,需将该证书导入Charles并设置信任
Burp无法正常工作的配置
- 设置Burp监听:打开Burp →「Proxy」→「Options」,确认监听端口(默认8080)未被占用,且绑定到Mac的WiFi IP(10.242.242.79)
- 安装Burp根证书:
- Burp内导出根证书(DER格式),用命令
openssl x509 -inform DER -in cacert.der -out cacert.pem转换为PEM格式 - iOS设备导入证书后,在「设置」→「通用」→「VPN与设备管理」信任;模拟器直接将证书导入系统钥匙串并设置信任
- Burp内导出根证书(DER格式),用命令
- 配置Mac系统代理:「系统设置」→「网络」→「WiFi」→「高级」→「代理」,勾选「Web Proxy (HTTP)」和「Secure Web Proxy (HTTPS)」,填写Mac IP和Burp监听端口,保存生效
MacOS代理设置的必要性
需要配置,但分工具场景:
- Charles:无需手动在系统设置配置,直接点击「Proxy」→「macOS Proxy」即可自动接管Mac和模拟器的代理
- Burp:必须手动在Mac系统代理设置中填写Burp的监听地址和端口,确保流量经过Burp
内容的提问来源于stack exchange,提问作者johnrubythecat
相关产品推荐
相关产品推荐

