Charles 工具如何截取手机 APP 的数据报文?

本贴最后更新于 1601 天前,其中的信息可能已经时移世改

前面我们发过两篇文章介绍了Charles抓包工具的基本使用,以及如何抓取电脑端的https报文;有兴趣的小伙伴可以去看上两篇文章:(此处是上篇文章的链接地址)。

有很多小伙伴私信问到,Charles该如何抓取手机端的数据报文呢?今天我们就来给大家分享一下Charles抓取手机端数据的方法。

抓取手机http数据包:

第一步:开启Charles上的代理

配置端口号,默认为8888,并勾选 “enable transparent HTTP proxying”,如下图所示:

image.png

第二步:手机上配置代理(Android为例)

首先,我们需要确保手机跟电脑处于同一个wifi连接中;然后通过修改手机端的网络,设置手机的代理:

image.png
image.png

代理服务器是运行Charles的电脑IP地址,端口对应着Charles上的配置的代理端口号。

第三步:Charles上允许代理连接。

此时,手机配置好代理后,访问任意流量都会经过Charles工具,所以Charles工具会弹出如下图所示的提示信息,选择“Allow”,允许即可。

image.png

第四步:成功抓取报文

然后手机运行APP,比如柠檬班APP,就可以在Charles上捕获到对应的报文了。

image.png

抓取手机端HTTPs报文:

刚刚上面讲述的是抓取http的数据包,但是现在很多APP都是用的https协议的,所以怎么去抓取并分析https的协议的数据包呢?

第一步:在Charles上开启SSL代理。

Proxy -> SSL Proxying Settings-->勾选Enable SSL Proxying,点击Add,点击Add,Host设置要抓取的https接口,

Host : * (使用通配符表示检测所有网络请求;建议还是设置单个需要抓取的https host,尽量避免使用 * 通配符)

Port:443

image.png

第二步:手机端安装Charles证书(IOS手机为例)

点击SSL Proxying --> Install Charles Root Certificate on a Mobile Device or Remote Browser,会提示你如何在手机端配置代理以及安装证书:

image.png

如下图所示:手机代理配置192.168.1.189(我电脑的IP地址),端口为8888(Charles配置的代理端口):

image.png

手机端浏览器里输入chls.pro/ssl网址,然后允许下载证书;并下载完成后去设置里查看证书;

image.png

手机设置-->描述文件里找到证书,点击安装并完成:

image.png

添加证书信任:在通用-->关于本机--->证书信任设置,勾选信任:

image.png

致此,Charles就可以愉快的抓取手机端的https的报文啦!

1 操作
tricy 在 2020-08-06 17:44:10 更新了该帖
回帖
请输入回帖内容 ...