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

发布于 更新于
本文目录
  1. 抓取手机http数据包
  2. 抓取手机端HTTPs报文

技术文章

前面我们发过两篇文章介绍了Charles抓包工具的基本使用,以及如何抓取电脑端的https报文;有兴趣的小伙伴可以去看下两篇文章↓↓↓①测试必备工具之最强抓包神器 Charles,你会了么?②测试必备工具之抓包神器 Charles 如何抓取...

前面我们发过两篇文章介绍了Charles抓包工具的基本使用,以及如何抓取电脑端的https报文;有兴趣的小伙伴可以去看下两篇文章↓↓↓


①测试必备工具之最强抓包神器 Charles,你会了么?

②测试必备工具之抓包神器 Charles 如何抓取 https 数据包?

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

抓取手机http数据包


第一步:开启Charles上的代理


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



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


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



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

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


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



第四步:成功抓取报文


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



抓取手机端HTTPs报文


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

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


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

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

Port:443



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


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



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



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



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



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



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



继续阅读