安装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安装证书

  1. 手机配置好代理后,charles会弹窗询问是否同意连接,点击同意
  2. 在手机浏览器safari中输入http://chls.pro/ssl,下载安装证书
  3. 针对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证书后,打开手机设置--通用--关于本机--证书信任设置,把证书后面的开关打开