mac

1、下载安装包

官网下载:Download a Free Trial of Charles • Charles Web Debugging Proxy

版本:4.6.4 (建议使用该版本,比较稳定)

2、有效期:

打开Charles ==> Help ==> Register Charles => 输入
Registered Name : https://zhile.io
License Key:48891cf209c6d32bf4

3、安全证书

Charles顶部:Help -> SSL Proxying -> Install Charles Root Certificate 点击后自动打开钥匙串访问,请输入电脑开机密码

完成后会看到证书,双击证书,打开证书详情:展开信任

使用此证书时:修改为【始终信任】,关闭证书详情要求输入开机密码

4、设置代理端口:

配置Proxy>>proxy setting>>勾选support HTTP/2和Enable transparent HTTP proxying (支持HTTP/2协议和启用透明HTTP代理

可以添加通配符记录:

⚠️注意:如果不设置通配符会导致能抓到包,但是加密不可查看具体参数

服务器端口查看:第3点中安装证书截图中有位置路径是 “ 顶部 >> Help >> SSL Proxying >> Install Charles Root Certificate on a Mobile Device or Remote Browser >> 弹出端口和域名 ”

5、手机端设置代理——连接同一网络,手动设置代理  ip+端口

6、手机端下载证书:

浏览器打开 https://chls.pro/ssl

7、手机端安装证书:

通用——描述文件与设备管理,安装后,再到 通用——关于本机——证书信任设置,开启信任

(务必,不然抓不到https)

安卓:直接安装证书即可

从设备存储安装证书

8、使用抓包时发现电脑或手机访问某些地址打不开:

关闭白名单——关闭白名单:点击tools快捷键,Allow List 将下拉菜单的白名单前的勾去掉即可

9、电脑打开网页报错,关闭charles或手动关闭代理

有时关闭代理,网站还是无法正常访问,手动关闭 ,选择网络,代理取消勾选(以下均取消即可)——这样手机端抓包可能会有问题

10、remote功能

Tools——>Map remote

可以将开发环境remote到其他测试环境(前端页面一致情况下,可以利用remote测试后端接口)

11、charles打开后,网页访问报错

可以在Proxy--里面取消勾选macOS Proxy(本机访问代理是否抓包)

12、无法抓包,看下电脑代理

这里开启Charles后默认勾选下方两个选项(如果有多勾选的建议关闭),关闭charls后会自动取消勾选以下两项

 13、如果无法代理,尝试关闭防火墙

14、抓包接口返回 Charles Error Report

——重装证书

15、手机代理后仍无法正常抓包定位

  1. 安全证书是否已下载本机对应的(要先连本机代理后下载当前电脑的安全证书,每个电脑的安全证书不一样)
  2. 代理网络、IP地址是否与本机对应(换网络,IP地址也会变)
  3. 是否可正常打开其他网页(如baidu)——可以尝试先代理访问公网(关闭内网),可否正常上网(先看电脑,再看手机)——可以正常上网后,再尝试连接内网,手机打开内网是否正常
  4. 可以打开公网网页,但无法访问内网小程序——本机电脑是否已连接内网(可以尝试kill内网进程后重新连接尝试代理)

16、SSL证书过期(一年有效期),需要重新下载

charles的SSL证书有效期一年,有时发现突然抓包失败,可以尝试重新安装证书

17、突然无法抓包,重装证书

建议删除证书重新安装

遇到过一个下午无法抓包3次以上,重新装证书后解决

18、加断点,mock测试

  • 接口右击或在目录栏增加断点
  • 修改返回参数后,点击执行,页面根据修改参数渲染
  • 注:接口有超时时间,要在接口超时时间范围内修改执行,不然浏览器上直接显示接口超时

注:接口有超时时间,要在接口超时时间范围内修改执行,不然浏览器上直接显示接口超时

19、Focus:请求过多,视图分组

请求过多左侧域名杂乱,右键focus需要的请求:url被分组,比较容易查询需要的抓包的请求。

20、Repeat:重试请求

可以简单测下接口幂等情况

21、Compose:修改请求参数进行接口测试

由于某些场景需要单独进行接口异常情况测试

可修改具体参数(如图,修改分页10条),执行即可

接口再次请求后返回

22、允许所有IP地址:Access Control Settings 增加“0.0.0.0/0”

  • 访问控制设置:在Charles中,前往“Proxy” -> “Access Control Settings”,确保手机的IP地址被添加到允许列表中。可以添加“0.0.0.0/0”来允许所有IP地址。

这样,每次手机换ip不会提示是否allow允许

23、剔除域名 或 只允许域名(有些app不允许抓包,抓包后导致无法正常请求)

其他问题解决:

1、无法通过官网地址下载证书

  • 小米手机通过chls.pro/ssl 网页无法下载证书:关闭下载设置中的迅雷加速(有时下载别的东西又不可以了,再打开迅雷下载)
  • 红米手机下载证书:输入http://charlesproxy.com/getssl进行下载,下载后的文件是getssl.crt
  • 一个手机如果安装多个mac证书,访问chls.pro/ssl 网页无法下载证书——需要删除或禁用其他mac证书后,再下载本机证书

2、一个手机可以装多个mac证书(同一个mac换网络可能会要求重新装证书)

3、不同charles版本问题——有些版本不能remote到某些域名抓包;使用某一版本稳定后 建议不要换其他版本

4、内网连接问题

  • 偶尔本机在连接内网,再开charles代理后,IP显示非192开头,可能是内网代理IP地址,导致无法正常抓包——可以尝试断掉内网(或尝试kill 进程),退出charles——先让电脑可以正常上网后——开启charles——连接内网;
  • 内网连接顺序有要求,有些电脑是必须在代理前连接上,有些是可以代理后连接内网;
  • 如果有域名需加白名单,本机IP可以访问(已加白),但是偶尔手机无法访问域名抓不到包:因为手机是单独的IP与电脑不一致,所以可以手机浏览器尝试访问域名,若为fobidden,则手机IP也需要加白后可正常访问。(from手机打不开小程序无法抓包经验)
  • 代理后,尽量不要切换网络,切换会导致IP变化,代理IP不通等;

5、本机访问网络问题

  • 偶尔打开网页会提示代理有问题或打不开等——等一等有时代理会不太稳定;或者关掉charles代理
  • 本机IDEA自动化跑的时候报错(有时会,不是必现)——关掉charles代理;
  • 电脑本机无法上网,关掉charles代理还是不行,尝试手动关闭代理

6. OS某些地址抓不到包

    • 受信任证书有没有开启(由于某些网站证书检测严格,一定要在安装描述文件后,开启charles受信任证书)

7. 能代理能抓包,但是具体参数加密

    • 是否安装证书(如果是http请求,无需安装证书;https请求,必须安装证书);已经安装证书还是不行,尝试删除重装
    • 通配符是否设置,参见步骤4设置代理端口及通配符(不设置通配符也会能抓包但参数加密);通配符偶尔会切换网络时自动重置,所以需要检查下

8. 安卓手机通过代理打开某些链接空白

    • 某些内网域名比如h5小程序在小米手机浏览器打开空白:尝试使用第三方浏览器,如夸克浏览器,可代理打开正常

9. mac,iphone模拟器安装证书

  • 如果使用iphone模拟器测试,虽然是在电脑打开模拟器,仍然需要下载charles证书(信任证书即可,没有安装描述文件的步骤)

10. ioS遇到突然抓不到某些包

——安装证书后重启手机

11、突然抓包内容都是乱码

接口提示:SSL Proxying not enabled for this host. Enable in the Proxy Menu, SSL Proxying Settings

解决方法:proxy -> ssl proxy setting里 添加所有域名抓包 (之前设置过,不知道为啥偶尔会被重置空

12、mac电脑突然有些域名访问不通

如果代理开着,打开wifi设置里 是不是2个代理没勾选 / 或者换4g试试 

13、证书过期,重装证书后

先移除mac的根证书,reset后 重新安装-始终信任-重启;

移除ios手机的证书,移除信任;移除android

然后chls.pro/ssl ——一直访问不通,通过ip:端口/getssl 也不行(但是能抓到请求,就是不通,实际是代理没通;charles有毛病一样(一定要关闭vpn,打开charles,打开后不要着急,等一会儿,不是立马能代理成功的感觉;实在不行关闭防火墙,再重启charles)

后面隔了一个多小时关闭电脑后+关闭charles后:重新打开 用ios手机再访问又正常了 可以chls.pro/ssl直接下载证书

——然后android 三星手机一直访问 手机访问chls.pro/ssl 如打不开也不下载证书(也抓不到接口,用ip:端口/getssl也不行会一直请求不通;后面关闭charles+关闭手机wifi——然后隔一会儿再重新打开charles,再手机连代理——仍然访问chls.pro/ssl,但是访问 www.charlesproxy.com/getssl——可以直接下载成功——折腾一下午终于可以了!!

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐