You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Charles Proxy无法监控iOS到Mac本地服务器的流量?求解决办法

解决iOS访问.local域名时Charles无法捕获流量的问题

问题背景

已通过Charles正常监控iOS访问远程服务器的流量,但监控iPhone与同一Mac本地应用的流量时出现异常:

  • 当iPhone使用http://Username-MacBook-Pro.local:8000这类.local域名请求时,Charles无任何流量记录(但手机日志显示请求已成功到达本地服务器)
  • 改用IP地址http://192.168.1.103:8000访问时,流量可被Charles正常捕获
  • 尝试过Map Remote、DNS Spoofing、Rewrite及修改/etc/hosts等方法均无效,确认iOS会直接绕过代理处理.local域名

可行解决方法

1. 修改iOS Wi-Fi的DNS配置

  • 连接当前Wi-Fi,进入Wi-Fi详情页,手动设置DNS服务器为Mac的本地IP(如192.168.1.103)
  • 此操作会让iOS通过Mac的DNS解析.local域名,而非直接使用mDNS,流量将走Charles代理通道

2. 用自定义域名替代.local

  • 在Mac的/etc/hosts文件中添加记录:
    192.168.1.103 mylocaldev.test
    
  • 配置本地服务绑定该自定义域名,让iPhone通过http://mylocaldev.test:8000访问
  • 配合Charles的Rewrite或Map Remote规则,即可正常捕获流量

3. 强制Charles捕获本地环路流量(Mac端配置)

  • 打开Charles,依次进入Proxy > macOS Proxy并勾选该选项
  • 进入Proxy > Settings > Proxies,勾选Enable transparent HTTP proxying
  • 确认Mac系统偏好设置→网络→Wi-Fi→高级→代理中,HTTP/HTTPS代理指向Charles默认端口8888
  • 此配置可强制本地服务流量走Charles代理,即使是.local域名也能被捕获

4. 针对HTTPS请求配置SSL Proxying

  • 若本地服务为HTTPS,在Charles的SSL Proxying Settings中添加规则:*.local:8000
  • 在iOS设备上安装并信任Charles根证书,避免证书验证导致流量绕过

内容的提问来源于stack exchange,提问作者MegaManX

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 15:17:43