mac下配置Charles抓包工具,以及无法抓包的原因

关闭代理

  • 关闭代理! 关闭代理! 关闭代理! 重要的事情说三遍
  • 如果是已经启动的 Charles 以后才关闭的代理,请重新关闭 macOS Proxy,然后在打开

安装

Charles官网下载安装包:https://www.charlesproxy.com/download/

配置Charles抓取web请求

  1. 安装 Charles 证书到mac
  • 启动Charles,选择Help–>SSL Proxying→Install Charles Root Certificate
配置证书
配置证书
  • 此时会启动“钥匙串访问”APP,并找到刚开安装好的证书,证书名字:Charles Proxy CA,找不到的可以搜索框搜下。
信任证书 https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/8a77d48a5a3a4846bf37c4ec6d0660eb~tplv-k3u1fbpfcp-zoom-in-crop-mark:4536:0:0:0.image
信任证书 https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/8a77d48a5a3a4846bf37c4ec6d0660eb~tplv-k3u1fbpfcp-zoom-in-crop-mark:4536:0:0:0.image
信任证书
信任证书
  • 双击证书,点击显示简介
简介
简介
  • 更改证书信任权限。更改为始终信任,并关闭窗口输入密码保存。
信任
信任
  • 复制粘贴该证书到“系统”里面。此时电脑端的证书就配置完毕了
根证书
根证书
  • 设置HTTPS端口抓包,点击Charles–>Proxy–>SSL Proxying Settings,出现如下弹窗,点击”Enable SSL Proxying”,点击“Add”
系统证书
系统证书
系统证书
系统证书
  • 添加http[:80]/https[:443] 通配域名,也可以指定抓取的域名
通配域名
通配域名
  • 至此,配置 Charles 抓取web请求配置完成

常见问题

  • 确认 Charles 配置,是否开启 macOS Proxy,也就是系统代理,另外有一点需要注意,如果你的 Charles 已经启动了才关闭的代理,需要重新关闭 macOS Proxy,然后在开启下,别问我怎么知道的,手动旺财.jpg
  • 确认 Charles 是否开启抓取,Proxy -> start recording
  • 抓取设置,是否添加了相应抓取域名,或者通配域名,请查看 Charles 配置教程
  • 如果是https请求,证书问题,查看证书是否信任
  • 确认本地网络代理设置,最好设置成http/https代理(因为如果不手动设置其他代理软件,可能会自动配置代理,导致设置不生效问题),代理服务器可查看自己的 Charles 设置,默认: 127.0.0.1:8888Charles 启动时,查看相关对口是否启动代理服务器进程(macOS命令:lsof -i :8888 | grep Charles)
  • 浏览器代理插件设置,如:SwitchyOmega等相关代理插件,要设置为系统代理或者新增情景模式为 Charles代理

上面的所有问题都检查一遍,我相信应该能解决您的问题了!!!!!