使用 Charles 抓取 app 数据包

作者:xiaoyanger
链接:https://www.jianshu.com/p/56f98a4b1fc9
本文是 xiaoyanger 原创。转载请联系作者获得授权。

前言

Charles 是一款非常实用的抓包工具。它通过电脑端代理,拦截网络请求和响应来实现数据包的抓取。支持 http/https。

安装

Charles 需要 Java 环境,在安装之前确保已有配置 Java 运行环境。然后到官网下载 Charles 并安装。破解的话,可以使用网友提供的工具: Charles 在线破解。

设置

打开 Charles 抓包工具:

Charles

电脑端设置代理:Proxy —> Proxy Setting:

设置代理

端口号填写8888,并选中 Enable transparent HTTP proxying。
Android 手机端设置:首选将手机和电脑连接在同一无线局域网上(同一个路由器)。然后利用 cmd-ipconfig 查看自己电脑的 ip:

然后在手机wifi连接中进行设置:

这里代理设置选择手动,主机名即是电脑的局域网ip,端口号为电脑端Charles设置的端口号。


抓取 http 数据

安卓上面的步骤就设置完成了。我们使用小米商城app来试一下抓取的数据包。
手机端打开小米商城:

同时监测电脑端Charles的数据抓取:

需要自己筛选一下,可以看到红框中就是小米商城http请求的域名,点开可以看到详细的网络请求接口:

点击选中对应的接口,在右侧可以看到抓包的结果,选中 Contents 可以看到抓取的内容,上部分为请求的数据包,有 Headers、Cookie、请求体的 Text/Hex/Form 形式。下部分为响应的数据包。包括有 Headers、响应结果 Json、JsonText 等形式。

抓取 https 数据包

上面的方式只能抓取到http数据包,要抓https还需要安装证书。
首先安装电脑端的CA证书:Help —> SSL Proxyging —> Install Charles Root Certificate:

安装证书:

下一步:

将所有证书都放入下列储存 —> 浏览 —> 受信任的根证书颁发机构 —> 确定 —> 下一步:

最后点击完成。

安卓手机端安卓证书:很多手机通过浏览器下载证书安装会提示无法安装,所以这里通过在电脑上下载好手机端的证书,传到手机上再来安装。

在浏览器中地址中输入chsl.pro/ssl,下载手机端证书并传到手机储存上:

在手机设置里面找到系统安全/安全与隐私(小米5手机:设置 —> 更多设置 —> 系统安全)

找到之前存放证书的位置,选择证书文件:

输入证书名称charles,点击确定,安装完成。

通过小米商城 lite 的微信小程序来测试下抓取 https 数据包。打开微信小程序“小米商城 Lite”,点击页面跳转。并监测 Charles 抓取的数据:

可以看到这就抓取到了小米商城 Lite 小程序的 https 请求数据包。



评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值