使用Charles进行手机数据抓包

现在大部分App都使用了https对接口进行加密,为了活动我们需要的数据,这时候我们就需要使用Charles进行抓包了。

安装

Charles官网下载对应版本即可

注意⚠️:下载安装完成后,如果不进行破解的话,使用一段时间后就会再次弹出广告。可以使用以下注册码进行注册。

//注册码1
Registered Name:https://zhile.io
License Key:48891cf209c6d32bf4
//注册码2
Registered Name:macenjoy.co
License Key:BBF36640E8D382CAA3
注册g

配置Charles

  1. 配置电脑的代理端口,找到CharlesProxy中的Proxy Settings进行相关设置,一般默认即可。
Proxy Settings
  1. CharlesHelp中的Local IP Addresses找到本地电脑的IP地址,并记录下来。如我的是:192.168.200.63
IP地址
  1. CharlesHelpSSL ProxyingInstall Charles Root Certificate安装证书。
安装Charles证书

注意⚠️:我们开始按照的证书是不被信任的,这时候我们需要去钥匙串中去主动信任。

不信任状态
授权信任
  1. CharlesProxy中的SSL Proxying Settings添加一个SSL代理,并在Access Control Settings中完成设置。
SSL代理
Access Control Settings

手机配置

  1. 手机连接上和电脑相同的wifi,不能电脑连接本地。
  2. 在手机的http代理设置中进行代理设置。点击相应wifi进入设置页面,点击配置代理,选择手动,填入刚刚记录的IP地址和配置的端口号。我这边分别配置192.168.200.638888
手机配置
  1. 打开Safari浏览器,访问chls.pro/ssl 下载证书并且安装,期间Charles会有弹框,选择允许即可。
下载证书g
  1. 到手机端,打开设置可以看到已下载描述文件,点击可以直接安装或者打开设置-通用-VPN与设备管理-描述文件-安装
安装描述文件
安装描述文件
  1. 到手机端,打开设置-通用-关于手机-证书信任设置-打开相应的证书开关。
证书信任

抓包

按照以上设置我们就能够正常抓包,查看相应数据了。

抓包

CharlesURL映射(修改URL等)

将一个请求重定向到另外一个请求。比如,测试中线上环境有问题,测试环境没有问题时,可将线上环境映射到测试环境进行测试。映射分为两种,一种是Map Remote,一种是Map Local

  1. Map Remote是将某个网络请求重定向到另一个网络请求。
  2. Map Local是将某个网络请求重定向到本地的某个文件。

举个:以Map Remote这种方式:https://test1.baidu.com映射到http://test2.baidu.com:8000

打开Charles菜单栏中的Tools->Map Remote,勾选上Enable Map Remote,然后点击Add按钮设置即可。

修改URL

注意⚠️:Protocol、端口及Path

Charles请求拦截

通过Charles拦截请求,我们能够修改请求参数和请求结果相关数据。

  1. 在url列表中,找到需要拦截的url,右键选择Breakpoint。然后重新请求这时候我们会自动跳到BreakpointEdit Request中。这时候我们能够修改Request相关参数等
Edit Request
  1. 修改完成后,点击Execute进入请求返回结果,这时候我们点击Edit Response并且选择Json Text,这时候我们就能修改请求返回结果了,改成我们需要的结果再次点击Execute就可以让接口相应结果达到我们要的结果。
Edit Response

你可能感兴趣的:(使用Charles进行手机数据抓包)