charles安装配置 for Mac

1. 安装

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

2. 激活

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

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

3. 配置

3.1 证书安装

Help->ssl proxying

image

依次

  • Charles Root Certificate

  • Charles Root Certificate in iOS Simulators

  • 钥匙串中改为始终信任

    image-20180802145256153

    iphone证书安装

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

    image

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

    Chls.pro/ssl

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

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

    3.2 代理设置

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

    image

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

    image

    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请求),确定即可。

    image

     

     

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

    3.5 可接入控制

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

    image

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

    image-20180802153454267

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

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

    image-20180802153731725

    3.5 Map Local

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

    保存远端response:


    保存返回值

    设置Map Local:


    添加

    选择json文件

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


    修改

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

    如何关闭?

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


    Map Local控制栏

    4. 一些常见问题

    4.1 真机验证应用时卡住?

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

    解决办法:

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

    image

     

    5. 总结

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

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

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



    作者:小小棒棒糖
    链接:https://www.jianshu.com/p/9f4ebde9c518
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
    posted @   小强找BUG  阅读(191)  评论(0编辑  收藏  举报
    编辑推荐:
    · Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
    · 开发者必知的日志记录最佳实践
    · SQL Server 2025 AI相关能力初探
    · Linux系列:如何用 C#调用 C方法造成内存泄露
    · AI与.NET技术实操系列(二):开始使用ML.NET
    阅读排行:
    · 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
    · 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
    · 【自荐】一款简洁、开源的在线白板工具 Drawnix
    · 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
    · Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
    历史上的今天:
    2019-04-01 测试管理平台大比拼
    点击右上角即可分享
    微信分享提示