Charles抓Http/Https、篡改请求数据

Charles抓Http/Https、篡改请求数据_第1张图片
Charles

一、Charles(青花瓷)介绍

是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当浏览器连接Charles的代理访问互联网时,Charles可以监控浏览器发送和接收的所有数据。它允许一个开发者查看所有连接互联网的HTTP通信,这些包括request, responseHTTP headers (包含cookiescaching信息)。

二、Charles主要功能

  • 支持SSL代理。可以截取分析SSL的请求。
  • 支持流量控制。可以模拟慢速网络以及等待时间(latency)较长的请求。
  • 支持AJAX调试。可以自动将jsonxml数据格式化,方便查看。
  • 支持AMF调试。可以将Flash RemotingFlex Remoting信息格式化,方便查看。
  • 支持重发网络请求,方便后端调试。
  • 支持修改网络请求参数。
  • 支持网络请求的截获并动态修改。
  • 检查HTMLCSSRSS内容是否符合W3C标准。

三、安装Charles

可以直接去官网https://www.charlesproxy.com/下载,也可以在网上搜一下破解版本的。

Charles抓Http/Https、篡改请求数据_第2张图片
官网下载

下载之后,安装即可。

四、配置Charles

1、首先确保你的手机和电脑在同一个WiFi下(关键)


Charles抓Http/Https、篡改请求数据_第3张图片
电脑网络

Charles抓Http/Https、篡改请求数据_第4张图片
手机网络

两者一定是在同一网络环境下
2、在手机上和电脑上安装描述文件
在Charles的Help菜单的SSL Proxying下选择如图选项


Charles抓Http/Https、篡改请求数据_第5张图片
安装手机证书

然后电脑上会弹出一个提示框
Charles抓Http/Https、篡改请求数据_第6张图片
手机安装证书提示框

这个时候,打开手机的网络设置,开始配置代理
Charles抓Http/Https、篡改请求数据_第7张图片
手机配置代理

这里服务器填写手机安装证书提示框的IP地址,端口填写提示框里面的端口。

然后点击右上角的存储。打开手机上的Safari,输入提示框里面的网址:chls.pro/ssl,然后就会有一个提示框提示是否要配置描述文件,按照提示点击,最后把描述文件安装成功。
Charles抓Http/Https、篡改请求数据_第8张图片
描述文件安装成功图.jpeg

记住,这只是安装,并没有信任证书,还要去设置一下信任。在设置->关于本机->证书信任设置路径下。如图:
Charles抓Http/Https、篡改请求数据_第9张图片
证书信任设置

Charles抓Http/Https、篡改请求数据_第10张图片
打开信任开关

此时,手机上的描述文件就安装完毕了
接着安装电脑的证书
Charles抓Http/Https、篡改请求数据_第11张图片
屏幕快照 2018-07-19 下午2.22.43.png

点击如图选项,然后就会跳转到本地钥匙串,如果证书没有信任的话,双击一下证书,设置为始终信任即可。
Charles抓Http/Https、篡改请求数据_第12张图片
设置为始终信任

至此,证书部分安装完毕。
打开Charles,进行Proxy Setting
Charles抓Http/Https、篡改请求数据_第13张图片
Proxy Setting-1
Charles抓Http/Https、篡改请求数据_第14张图片
Proxy Setting-2

这里使用默认的8888端口号
接着设置SSL Proxying Settings


Charles抓Http/Https、篡改请求数据_第15张图片
SSL Proxying Settings-1

Charles抓Http/Https、篡改请求数据_第16张图片
SSL Proxying Settings-2

Host填写一个*,代表通配符
Port填写:443端口
点击OK保存,至此所有的设置都做好了。

五、开始抓数据,抓一下手机百度的数据吧。

选中数据对应的接口,给该地址添加一个断点。然后手机再次下拉刷新数据,测试会停到这个断点的地方,此时你可以编辑请求的部分,如果不需要,直接点击下面的Execute按钮,测试数据加载过来了,选中Edit Response,找到你想更改的数据,进行编辑,编辑之后,点击下面的Execute按钮。


给目标地址添加断点
编辑返回数据

回到App查看变更结果


Charles抓Http/Https、篡改请求数据_第17张图片
篡改数据之后的图

注意点:

  • 确保手机和电脑在同一个WiFi下
  • 手机安装描述文件一定是在配置好代理之后再去打开chls.pro/ssl进行安装
  • 安装不代表信任,一定要去设置/关于手机/证书信任设置里面进行信任证书设置
  • SSL Proxying Settings和Proxy Setting如图就行
  • 添加打点之后要再次在手机上刷新数据才能走到断点,进行Edit Request,然后点击Execute进行下一步的Edit Response,修改好之后,再次点击Execute按钮,此时回到App即可查看效果。

之所以记录这个过程,是因为我之前只是使用Charles进行获取数据,辅助开发,并没有用到篡改数据的功能,这里记录一下,以便于学习。如有问题,可以在下方评论,共勉之。

你可能感兴趣的:(Charles抓Http/Https、篡改请求数据)