安装步骤
- 官网下载安装Charles软件
- 电脑端Charles软件安装证书
- 手机设置Charles代理(设置之后手机应该没网络了,也下载不了手机证书)
- Charles软件中下载证书到手机安装(这个时候应该依然不能上网)
- 设置防护墙允许的应用,给Charles打钩。此时就可以手机上网
一、下载 Charles
下载链接:Download a Free Trial of Charles • Charles Web Debugging Proxy
根据对应系统直接点击对应的安装包下载即可,安装过程比较简单,一直点下一步即可。
(另外Charles 是收费软件,不过可以免费试用 30 天。如果试用期过了,其实还可以试用,不过每次试用超过 30 分钟后需要你重启软件)
二、Charles软件安装证书
现在很多 App 通信应用了 HTTPS 协议,那么它通信的数据都会是被加密的,常规的截包方法是无法识别请求内部的数据的。所以安装完成Charles软件后,如果我们想要做 HTTPS 抓包的话,那么还需要配置一下相关 SSL 证书(PC和手机都要安装证书)。
Windows系统(如果是其他系统可观看参考链接来进行配置)
1.首先打开 Charles,点击 Help→SSL Proxying→Install Charles Root Certificate,即可进入证书的安装页面,如图 1所示。
图1证书安装页面入口
2.接下来,会弹出一个安装证书的页面,如图 2所示。
图2 证书安装页面
3.点击 “安装证书” 按钮,就会打开证书导入向导,如图 3 所示。
图3证书导入向导
4.默认存储位置是当前用户,直接点击 “下一步” 按钮即可,此时需要选择证书的存储区域,点击第二个选项 “将所有的证书放入下列存储”,然后点击 “浏览” 按钮,从中选择证书存储位置为 “受信任的根证书颁发机构”,再点击 “确定” 按钮,然后点击 “下一步” 按钮,如图 4所示。
5.再继续点击 “下一步” 按钮完成导入。
三、手机设置代理(完成这步之后手机应该没网络了,也下载不了手机证书)
Android系统(如果是ios配置操作基本相同,具体可观看参考链接来进行配置)
1.首先,查看电脑的 Charles 代理是否开启,具体操作是点击 Proxy→Proxy Settings,打开代理设置页面,确保当前的 HTTP 代理是开启的,如图 1所示。这里的代理端口为 8888,如果端口重合了也可以自行修改成其他端口。
2.接下来,将手机和电脑连在同一个局域网下。可以先在Charle上查看电脑IP和端口,我这里ip是192.168.104.46,服务端口是8888
3.在手机端,进入WiFi设置,点击进入当前WiFi网络:将代理设置为手动,主机名和端口填写上面查到的IP和端口号即可。(到这一步后手机无法连接网络,Charles会收到请求,但手机收不到响应内容)
四、从Charles软件中下载证书到手机安装(完成这一步后手机端证书解决,但手机依然上不了网)
1、导出Charles证书
点击 Help—>SSL Proxying—>View Generated SSLCertificates Keystore Password
复制密码:
再点击 Help—>SSL Proxying—>Export Charles Root Certificate and Private Key:
将复制的密码,粘贴到输入框中,点击OK(注意这里复制的密码在到手机端安装证书时也会使用到):
输入一个文件名保存到本地:
2、手机安装Charles证书
将刚刚的证书发送到手机后,安装即可(会用到刚刚电脑下载证书时复制的密码)
(完成这一步后手机端证书已解决,但手机应该依然无法连接网络)
五、设置防护墙允许的应用,给Charles打钩(完成这部后手机就可以上网)
此时手机还是不能上网,请打开电脑防火墙,在如图路径中,勾选Charles及对应权限,最后点击确定。到此,手机就可以通过Charles代理上网。
六、参考文献
[Python3 网络爬虫开发实战] 1.7.1-Charles 的安装 | 静觅 (cuiqingcai.com)
(34条消息) 解决-手机通过Charles连接代理无法上网,亲测可用_clareyu0625的博客-CSDN博客_charles手机无法上网