charles抓取web端的HTTPS协议下载和七个功能操作

Charles代理与HTTPS抓包详解及配置
本文详细介绍了Charles作为HTTP代理工具的工作原理,包括如何进行HTTPS抓包、安装与配置步骤。通过下载并安装Charles的SSL证书,可以解密HTTPS流量。此外,还展示了如何利用Charles进行断点调试、本地文件映射、弱网模拟以及关注接口等功能。对于移动设备和虚拟机,文章提供了下载证书并配置代理的步骤,确保Charles能捕获App和虚拟机的网络请求。

charles的原理

在这里插入图片描述
客户端向服务器发起HTTPS请求
Charles拦截客户端的请求,伪装成客户端向服务器进行请求
服务器向“客户端”(实际上是Charles)返回服务器的CA证书
Charles拦截服务器的响应,获取服务器证书公钥,然后自己制作一张证书,将服务器证书替换后发送给客户端。
客户端接收到“服务器”(实际上是Charles)的证书后,生成一个对称密钥,用Charles的公钥加密,发送给“服务器”(Charles)
Charles拦截客户端的响应,用自己的私钥解密对称密钥(Charles拿到了对称密钥**)**,然后用服务器证书公钥加密,发送给服务器。
服务器用自己的私钥解密对称密钥,向“客户端”(Charles)发送响应
Charles拦截服务器的响应,替换成自己的证书后发送给客户端
至此,连接建立,Charles拿到了 服务器证书的公钥 和 客户端与服务器协商的对称密钥,之后就可以解密或者修改加密的报文了。
1.2:总结:
HTTPS抓包的原理还是挺简单的,简单来说,就是Charles作为“中间人代理”,拿到了 服务器证书公钥 和 HTTPS连接的对称密钥,前提是客户端选择信任并安装Charles的CA证书,否则客户端就会“报警”并中止连接。这样看来,HTTPS还是很安全的。
charles的安装
2.1:点击安装文件charles-proxy-4.2.8-win64.msi
在这里插入图片描述
2.2:点击下一步
在这里插入图片描述
2.3:勾选同意,点击”next”按钮
在这里插入图片描述
2.4:指定安装的路径,继续点击”next”按钮
在这里插入图片描述
2.5:点击”install”按钮
在这里插入图片描述
2.6:等待安装
在这里插入图片描述
2.7:点击”Finish”按钮
在这里插入图片描述
2.8:安装结束

harles的证书下载(web)

为什么下载charles的ssl证书
默认情况下,charles不能解析https协议的接口,里面的请求和响应数据都是乱码格式,所以我们需要下载ssl证书,来获取里面的数据
在这里插入图片描述
点击help,选中ssl Proxying ,点击Install Charles Root Certificate
在这里插入图片描述
点击”安装证书”按钮
在这里插入图片描述
点击”下一步”按钮
在这里插入图片描述
选中”将所有的证书都放入下列存储”,点击”游览”按钮
在这里插入图片描述
选中”受新任的根证书颁发机构”,点击”确定”按钮
在这里插入图片描述
点击”下一步”按钮
在这里插入图片描述
点击”完成”按钮
在这里插入图片描述
界面弹出”导入成功”弹框
在这里插入图片描述
点击”proxy”按钮,选中Proxy Settings…
在这里插入图片描述
勾选允许传输http代理,接着点击”OK”按钮
在这里插入图片描述
点击’proxy”按钮,选中SSL Proxyig settings…
在这里插入图片描述
点击勾选运行代理,点击“add”按钮
在这里插入图片描述
填写Host和Port都为*,正则表达式为匹配所有,再点击”OK”按钮
在这里插入图片描述

3.2.14:点击”OK”按钮
在这里插入图片描述
3.2.15:重启Charles,即可

在这里插入图片描述

3.2.16:验证是否可以获取web端的https接口
打开Charles

在这里插入图片描述

打开浏览器输入数据
在这里插入图片描述
查看Charles
在这里插入图片描述

(4)从上图所看,能获取htpps的包数据,即可对web端进行抓包

charles的功能操作

断点调试

方法一: breakpoints(修改request)
接口处 鼠标右击,选择breakpoints(允许本接口使用breakpionts功能)
在这里插入图片描述
开始设置断点值
在这里插入图片描述
在这里插入图片描述

输完值记得点【ok】按钮保存设置。。。
4.重新请求接口(charles的界面变为可编辑状态),修改请求参数,执行请求
在这里插入图片描述

5.关掉breakpoint,点击【abort】
如果点击了【cancel】,只关闭此次编辑。下次访问此接口时还会进入breakpoints页面。
在这里插入图片描述
方法二: breakpoints(修改response)
接口处 鼠标右击,选择breakpoints(允许本接口使用breakpionts功能)
在这里插入图片描述
开始设置断点值
在这里插入图片描述
在这里插入图片描述
输完值记得点【ok】按钮保存设置。。。
4.重新请求接口(charles的界面变为可编辑状态),修改请求参数,执行请求
在这里插入图片描述
5.刷新页面,请求接口(返回值便是上一步已经修改好的值)
6.关掉breakpoint,点击【abort】
如果点击了【cancel】,只关闭此次编辑。下次访问此接口时还会进入breakpoints页面。
在这里插入图片描述

本地修改

对于maplocal功能的理解:
接口返回值通过抓包工具处理成了 一个本地文件。这个本地文件中的设定值被作为接口返回值了。
复制 response内容,保存为.txt 文件,存在电脑本地。
在这里插入图片描述
在这里插入图片描述
注意:
保存为txt 后,将文件“另存为”编码方式选择utf-8,否则接口可能无法识别汉字导致出现乱码
在这里插入图片描述
2.修改response指向(选中需要修改response值的接口 后点击右键,选中maplocal功能)
在这里插入图片描述
在这里插入图片描述
注意:记得点击【OK】键才能将配置保存成功!!!
3.修改txt文件中 需要修改的字段值,保存
4.重新请求此接口,此时接口返回值已经是 txt文件中的期望值了
5.不用的时候,关掉maplocal。
在这里插入图片描述
4.3:弱网测试
模拟超慢网速(会导致接口数据返回超时的那种…)
设置带宽和延迟时间(毫秒)
注:可以根据下图中的翻译体会下导致网络延迟的原因:
在这里插入图片描述
在这里插入图片描述
2.打开 throt settings (功能生效后 接口数据返回会很慢)
在这里插入图片描述
模拟403/404
在这里插入图片描述
2.允许启用黑名单功能,选择接口返回错误的形式(404 或者403),添加接口地址并保存
在这里插入图片描述
注:【blocking connection】 选项可以选择“drop connection”或者 “403 respose”.前者接口会直接返回404错误,后者接口返回403错误
3.选中需要返回404/403的接口,点击【ok】
在这里插入图片描述
再次请求效果如下(接口返回404):
在这里插入图片描述
屏蔽web网页的抓包信息
应用场景:屏蔽web网页的抓包信息
proxy–>windows proxy(前面没有对勾,就不会抓到 PC浏览器的包)
proxy–>macOS proxy(mac电脑)
在这里插入图片描述
关注接口

抓包列表中有好多抓包结果是我们不会关注的,用下面的方法可以让这些我们不关注的接口在列表中隐藏
添加关注的接口
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注:host : baidu 代表 host中含有"baidu"字符的所有host
protocol :http 或者https. 如果什么都选,代表 两中协议都会生效,相当于二者兼选
port: protocol为http 时填 80 ,protocol 为https时填 443 。什么都不填也没有关系。
2.启用关注接口
在这里插入图片描述
3.重新抓包结果
不在上一步配置中的接口,都会隐藏在other host中
在这里插入图片描述
:简单压力测试
接口请求次数、并发量、请求延迟时间均可配置
1.选中需要进行测试的接口,鼠标右键 选中【repeat advance】
在这里插入图片描述
2.
下面的图中,选择了三个接口,每次迭代中3个接口同时请求,迭代1000次(总计请求3000次接口),
每个接口每次并发100次请求。
在这里插入图片描述

charles的证书下载(app)

为什么下载charles的ssl证书
默认情况下,charles不能解析https协议的接口,里面的请求和响应数据都是乱码格式,所以我们需要下载ssl证书,来获取里面的数据
在这里插入图片描述
5.2:证书下载
5.2.1:前提:保证电脑和手机在同一网络段(手机和电脑连接同一个wifi/热点)

1:在proxy中找到proxy settings
在这里插入图片描述
2:设置端口port以及勾选Enale transparent HTTP proxying
在这里插入图片描述
3:在proxy中找到SSL proxy settings
在这里插入图片描述

4:新增https对应的host以及端口号
在这里插入图片描述

5:点击help选择ssl Proxying,点击第三个(下载移动端证书)
在这里插入图片描述

6:弹出对应的ip地址和端口号
在这里插入图片描述

6:设置移动端代理
找到连接的wifi,点击进入设置代理
设置为手动,并填写对应的ip和端口号

在这里插入图片描述
在这里插入图片描述

7:使用手机下载ssl证书,用手机游览器输入:chls.pro/ssl,前往

在这里插入图片描述

8:点击”立即下载”按钮

在这里插入图片描述

9:下载完成之后进行安装即可

在这里插入图片描述

10,验证能否抓取到app端的接口
10.1:手机输入123查询
在这里插入图片描述

10.2:获取到该接口信息

在这里插入图片描述

charles的证书下载(虚拟器)

1:第一步:打开虚拟机设备

在这里插入图片描述

2:第二步:去掉window peoxy的勾选项(对app端测试)
在这里插入图片描述

3:点击proxy选中proxy Setting
在这里插入图片描述

4:启动http代理端口(默认8888)
在这里插入图片描述

5:在help中选中SSL Proxying 中的Mobile Device 安装
在这里插入图片描述

6:显示如下图所示信息

在这里插入图片描述

7:点击设置按钮
在这里插入图片描述

8:点击”wifi”
在这里插入图片描述

9:长按已连接的WiFi
在这里插入图片描述

10:点击”修改网络”

在这里插入图片描述

11:勾选”高级选项”

在这里插入图片描述

12:点击代理下拉框
在这里插入图片描述

13:选中”手动”
在这里插入图片描述

14:填写代理信息(ip和端口信息)
在这里插入图片描述

15:点击”保存”
在这里插入图片描述

16:打开模拟器中的游览器
在这里插入图片描述

17:输入对应的网址:chls.pro/ssl ,下载证书
在这里插入图片描述

18:点击下载的证书
在这里插入图片描述

19:给证书命名并确定
在这里插入图片描述

20:显示证书已安装
在这里插入图片描述

21:打开模拟器上的app,观察Charles中捕获的接口
在这里插入图片描述

22:以上为模拟器上安装证书操作,接下来就可以捕获接口操作了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值