0%

[Python3网络爬虫开发实战] 1.7.1-Charles的安装

Charles 是一个网络抓包工具,相比 Fiddler,其功能更为强大,而且跨平台支持得更好,所以这里选用它来作为主要的移动端抓包工具。

1. 相关链接

2. 下载 Charles

我们可以在官网下载最新的稳定版本,如图 1-43 所示。可以发现,它支持 Windows、Linux 和 Mac 三大平台。

图 1-43 Charles 下载页面

直接点击对应的安装包下载即可,具体的安装过程这里不再赘述。

Charles 是收费软件,不过可以免费试用 30 天。如果试用期过了,其实还可以试用,不过每次试用不能超过 30 分钟,启动有 10 秒的延时,但是完整的软件功能还是可以使用的,所以还算比较友好。

3. 证书配置

现在很多页面都在向 HTTPS 方向发展,HTTPS 通信协议应用得越来越广泛。如果一个 App 通信应用了 HTTPS 协议,那么它通信的数据都会是被加密的,常规的截包方法是无法识别请求内部的数据的。

安装完成后,如果我们想要做 HTTPS 抓包的话,那么还需要配置一下相关 SSL 证书。接下来,我们再看看各个平台下的证书配置过程。

Charles 是运行在 PC 端的,我们要抓取的是 App 端的数据,所以要在 PC 和手机端都安装证书。

Windows

如果你的 PC 是 Windows 系统,可以按照下面的操作进行证书配置。

首先打开 Charles,点击 Help→SSL Proxying→Install Charles Root Certificate,即可进入证书的安装页面,如图 1-44 所示。

图 1-44 证书安装页面入口

接下来,会弹出一个安装证书的页面,如图 1-45 所示。

图 1-45 证书安装页面

点击“安装证书”按钮,就会打开证书导入向导,如图 1-46 所示。

图 1-46 证书导入向导

直接点击“下一步”按钮,此时需要选择证书的存储区域,点击第二个选项“将所有的证书放入下列存储”,然后点击“浏览”按钮,从中选择证书存储位置为“受信任的根证书颁发机构”,再点击“确定”按钮,然后点击“下一步”按钮,如图 1-47 所示。

图 1-47 选择证书存储区域

再继续点击“下一步”按钮完成导入。

Mac

如果你的 PC 是 Mac 系统,可以按照下面的操作进行证书配置。

同样是点击 Help→SSL Proxying→Install Charles Root Certificate,即可进入证书的安装页面。

接下来,找到 Charles 的证书并双击,将“信任”设置为“始终信任”即可,如图 1-48 所示。

图 1-48 证书配置

这样就成功安装了证书。

iOS

如果你的手机是 iOS 系统,可以按照下面的操作进行证书配置。

首先,查看电脑的 Charles 代理是否开启,具体操作是点击 Proxy→Proxy Settings,打开代理设置页面,确保当前的 HTTP 代理是开启的,如图 1-49 所示。这里的代理端口为 8888,也可以自行修改。

图 1-49 代理设置

接下来,将手机和电脑连在同一个局域网下。例如,当前电脑的 IP 为 192.168.1.76,那么首先设置手机的代理为 192.168.1.76:8888,如图 1-50 所示。

图 1-50 代理设置

设置完毕后,电脑上会出现一个提示窗口,询问是否信任此设备,如图 1-51 所示。

图 1-51 提示窗口

此时点击 Allow 按钮即可。这样手机就和 PC 连在同一个局域网内了,而且设置了 Charles 的代理,即 Charles 可以抓取到流经 App 的数据包了。

接下来,再安装 Charles 的 HTTPS 证书。

在电脑上打开 Help→SSL Proxying→Install Charles Root Certificate on a Mobile Device or Remote Browser,如图 1-52 所示。

图 1-52 证书安装页面入口

此时会看到如图 1-53 所示的提示。

图 1-53 提示窗口

它提示我们在手机上设置好 Charles 的代理(刚才已经设置好了),然后在手机浏览器中打开 chls.pro/ssl 下载证书。

在手机上打开 chls.pro/ssl 后,便会弹出证书的安装页面,如图 1-54 所示:

图 1-54 证书安装页面

点击“安装”按钮,然后输入密码即可完成安装,如图 1-55 所示。

图 1-55 安装成功页面

如果你的 iOS 版本是 10.3 以下的话,信任 CA 证书的流程就已经完成了。

如果你的 iOS 版本是 10.3 及以上,还需要在“设置”→“通用”→“关于本机”→“证书信任设置”中将证书的完全信任开关打开,如图 1-56 所示。

图 1-56 证书信任设置

Android

如果你的手机是 Android 系统,可以按照下面的操作进行证书配置。

在 Android 系统中,同样需要设置代理为 Charles 的代理,如图 1-57 所示。

图 1-57 代理设置

设置完毕后,电脑上就会出现一个提示窗口,询问是否信任此设备,如图 1-51 所示,此时直接点击 Allow 按钮即可。

接下来,像 iOS 设备那样,在手机浏览器上打开 chls.pro/ssl,这时会出现一个提示框,如图 1-58 所示。

图 1-58 证书安装页面

我们为证书添加一个名称,然后点击“确定”按钮即可完成证书的安装。