charles安装配置 for Mac

1. 安装

去官网下载,地址:https://www.charlesproxy.com/download/

2. 激活

这里是网上找的激活账号,填入即可

Registered Name: https://zhile.io
License Key: 48891cf209c6d32bf4

3. 配置

3.1 证书安装

Help->ssl proxying

依次

  1. Charles Root Certificate

  2. Charles Root Certificate in iOS Simulators

  3. 钥匙串中改为始终信任

  4. iphone证书安装

    打开Charles Root Certificate on a Mobile Device or Remote Browser,会出现如图

    先配置代理,跳转3.2/3.3配置代理,配置完成后访问

    Chls.pro/ssl

    即会弹出框询问是否安装,同意安装即可。

    不要高兴太早,安装完成要在手机设置->通用->关于本机->证书信任设置->charles Proxy CA,勾选开关,证书才生效。

3.2 代理设置

可以设置抓包数据类型,包括http与socket数据。可以根据需要在proxies栏下勾选。

如果需要抓Mac上的浏览器数据,需要在macOS栏,勾选http.

3.3 手机使用代理

手机连接局域网下wifi,与charles必须为同一外网下。

  1. 自动代理

    在已连接的wifi上点击更多,进入配置代理页。勾选自动,在输入框URL中输入:

    Https://chls.pro/10.10.11.235:6666.pac

    即设置了自动代理。

  2. 或者设置手动代理

    输入charles的ip与端口即可

3.4 HTTPS抓包

HTTPS抓包,需要经过SSL。

Proxy->SSL Proxy setting

会打开如下界面。点击Add,Host栏与Port栏都填空(表示抓所有SSL请求),确定即可。

注:如果未配置此项,在访问https数据的时候,你会发现访问失败,Structure栏显示小锁标识。

3.5 可接入控制

charles可以通过Access control Settings来控制允许访问列表。如果未允许本机器IP,访问不会走Charles,当然也抓不了包。

未配置过时,列表为空。当手机第一次访问时,charles会弹出是否允许弹框,点击allow,即同意此手机连接。

此手机的ip地址也会出现在Access control Settings的列表中。

我一般配置为允许所有,在Access control Settings中Add,输入0.0.0.0/0,添加即可。

3.5 Map Local

这个功能相当有用,可以把数据请求的response从本地文件获得。
比如:我有一个系统升级功能,升级方式upgradeType有三种:强制/普通/静默,然而,自己想要测试验证三种场景,就得麻烦后台去修改数据。这时候,Map Local可以上场了。

  1. 保存远端response:

     

    保存返回值

  2. 设置Map Local:

     

    添加

     

    选择json文件

  3. 打到保存的json文件,修改返回值:

     

    修改

然后重新请求,就会走你修改后的本地文件数据了。再也不用频繁麻烦后端同学了,自己就能模拟各种数据场景。

如何关闭?

charles工具栏 -> Tools -> Map Local,点击进入

Map Local控制栏

4. 一些常见问题

4.1 真机验证应用时卡住?

作为苹果开发,很多时候需要通过Xcode把自己做的小Demo运行到手机上,用的又是免费的个人证书,需要在手机上信任证书,及验证应用。如果你设置了抓包,ssl是验证不过的。

解决办法:

ssl时,只抓指定的网址,不要设置全抓* 。charles工具栏 -> Proxy -> SSL Proxy Settings,只抓项目后台地址。

5. 总结

把上面步骤过了,就可以愉快的抓https了。总结一下:

  1. 证书:Mac/模拟器/iphone证书(不要忘记信任证书)。
  2. Proxy setting勾选HTTP与SOCKS。
  3. 同一局域网。
  4. 手机设置代理。
  5. Access control Settings同意接入
  6. SSL proxy添加星。

当然,charles功能不仅仅于此,非常强大,还有很多功能等待发现。如:断点/拦截,返回修改后数据/模拟断网/模拟网络差。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Charles for Mac是一款用于网络调试和抓包的工具。使用Charles for Mac可以拦截和查看网络请求和响应,帮助开发人员定位和解决前后端的bug。在Mac上使用Charles需要进行一些基础配置。首先,需要在Charles证书安装安装Charles的根证书。可以选择安装所有选项,或者只选择安装Charles Root Certificate。安装完成后,可以在Charles菜单中找到帮助文档,了解更多关于Charles Root Certificate的详细信息。[1] 在进行基础配置之前,需要确保手机和电脑连接在同一个网络下,可以是同一个WiFi或同一个路由器网络。在Charles菜单中,选择Proxy->开启Recording和SSL Proxying。然后,在Proxy->SSL Proxying Setting中设置要代理的域名。如果需要抓取所有请求,可以参考设置方法。接下来,在手机的WiFi设置中,选择代理->手动,然后设置主机名为使用Charles的电脑的IP地址,代理端口为Charles默认的端口8888。打开手机的浏览器,访问chls.pro/ssl,会自动下载一个CA证书。在手机的设置中搜索CA证书,并安装证书。安装完成后,重新启动Charles,就可以正常抓包了,包括HTTPS的请求。[2] 除了基础配置Charles还提供了一些高级功能,如请求映射(Map Local)。请求映射可以用于调试请求,定位前后端的bug。在进行请求映射之前,需要先开启断点。选择需要断点的请求,右击,点击Breakpoints,开启断点。然后,在编辑请求后获取源服务器响应后,再进行响应后断点。编辑完响应后,可以放行请求。通过请求映射功能,可以方便记录和查看断点效果。[3]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值