一、Charles简介
Charles是一个web代理(HTTP代理/ HTTP监视器),运行在您自己的计算机上。您的web浏览器(或任何其他Internet应用程序)配置为通过Charles访问Internet,然后Charles能够为您记录和显示发送和接收的所有数据。
在Web和Internet开发中,您无法看到Web浏览器/客户端和服务器之间发送和接收的内容。如果没有这种可见性,确定故障的确切位置将是困难和耗时的。Charles可以很容易地看到发生了什么,因此您可以快速诊断和解决问题。
Charles使调试快速、可靠、先进;节省您的时间和挫折!
二、Charles的下载及安装
官网地址:https://www.charlesproxy.com
下载对应系统的安装包
双击下载的安装包
将Charles.app拖入Applications
三、Charles的配置
1、安装证书
点击charles -> help -> SSL Proxying -> Save Charles Root Certificate...
点击charles -> help -> SSL Proxying -> Install Charles Root Certificate
下载证书后,页面会打开钥匙串访问,进入证书页面,双击证书-选择信任证书
2、代理设置
选择Proxy -> macOS Proxy,这个是抓取电脑请求的接口。如果只需要抓取手机端的请求的话,这个就不需要选择了。勾选这个之后,会将Charles设置成系统代理。
想要截取手机上的网络请求,首先需要把Charles的代理功能打开,即在Charles的菜单栏上选择Proxy -> Proxy Settings...
至此,HTTP的抓包就结速了,但是HTTPS还需要以下步骤,不然会产生乱码
第一步:SSL代理设置是HTTP加密依赖的基础协议,HTTP默认是80端口,HTTPS默认的是443端口
配置Tools -> Map Remote...。只知道接口名时,抓包的时候进行筛选
这样电脑端的配置就配置完了,接下来是手机端配置了。
四、Charles苹果手机端配置
手机端的配置就相对简单很多了
1、安装Charles证书
证书下载地址. chls.pro/ssl. 但这个证书有些手机不好下载,可以使用前面电脑端下载好的证书,通过微信发送到手机。
在手机上点击接收到的证书,然后点击存储到文件
这里我选择的是 我的iPhone
点击存储
在手机上搜索文件,打开文件之后就能找到你刚刚下载到的证书
点击你要安装的证书
根据提示文件描述符已经下载完成,到手机的设置中安装下载好的文件描述符
打开手机的设置 -> 通用 -> 关于本机 ->证书信任设置
2、确保手机端连接的网络和电脑端的网络一样
3、修改手机代理
先查看一下电脑上安装的Charles对应的ip和端口号
在手机上找到你连接的无线网,设置 -> 无线局域网 -> 连接的无线网右边的 i -> 配置代理
至此整个代理就搞定了
五、Charles破解
https://www.zzzmode.com/mytools/charles/
可以在这个网站上获取对应的激活码,得到Registered Name和License Key,然后在Charles中设置即可
六、QA
1、Map Remote文件无法导入问题
我在到人Map Remote文件的时候遇到了这个错误,可能引起的原因是jdk版本过低,可以升级到对应的jdk版本,或者降低charles的版本。