安装Charles
从官网
下载Charles:https://www.charlesproxy.com/download/
破解:将charles.jar文件替换掉(路径:安装盘\Charles\lib,
jar文件下载:链接:https://pan.baidu.com/s/1PVicKuG4OTlQgmK7JnFcvw 密码:subh)
电脑安装证书
依次点击Charles中的Help--SSL Proxying--Install Charles Root Certificate。
证书默认是不被信任的,需要手动修改
【修改方法】:
Mac下,双击证书,然后点击信任前的三角,出现下拉菜单,将加密套接字协议层(SSL)修改为始终信任;
Windows下,点击安装证书,选择安装位置,点击下一步,选择存储路径(需要手动选择存储路径,否则自动生成的路径仍然不被信任),点击下一步,然后点击浏览,手动指定证书路径为“受信任的根证书颁发机构”,之后点击确定,这时发现Charles证书是被信任的
Android机安装证书(以MEIZU PRO为例)
下载证书:依次点击Charles中的Help--SSL Proxying--Save Charles Root Certificate...,将Charles证书保存到电脑,然后copy到手机根目录
安装证书:依次点击设置--指纹和安全--设备管理与凭证--从存储盘安装,找到根目录下的Charles证书,安装Charles证书
注:手机配置好代理后,等一会,charles会弹窗询问是否同意连接,点击同意
ios安装证书
- 手机配置好代理后,charles会弹窗询问是否同意连接,点击同意
- 在手机浏览器safari中输入http://chls.pro/ssl,下载安装证书
- 针对ios11::打开手机设置--通用--关于本机--证书信任设置,把证书后面的开关打开
设置代理
手机与电脑连接同一wifi网络,然后查看电脑IP(方法:依次点击Charles中的Help--SSL Proxying--Install Charles Root Certificate on a Mobile Device or Remote Browser,弹窗中出现的IP和端口号即为手机wifi代理中需要设置的服务器和端口)
备注
【问题1】为什么手机设置代理前可以正常上网,设置代理后无法上网?
解决办法:关闭windows防火墙。如果防火墙关了还是不行,那么把手机wifi断掉重新连接。如果上述方法还是不行,那么将手机wifi的IP地址设置成静态IP,然后重启Charles软件。
【问题2】如何用Charles抓手机app数据的同时抓电脑端数据?
勾选Proxy中的Windows Proxy,勾选Windows Proxy表示接收电脑的数据抓包,取消表示不接收,只抓APP的数据请求。
【问题3】代理配置正确,但是Charles无法抓取IOS11中的Https请求
ios在原有安装证书的基础上,增加了进一步信任的过程。
解决方式:配置好代理,安装好Charles证书后,打开手机设置--通用--关于本机--证书信任设置,把证书后面的开关打开