charles讲解

charles讲解

charles的原理

在这里插入图片描述

客户端向服务器发起HTTPS请求 Charles拦截客户端的请求,伪装成客户端向服务器进行请求
服务器向“客户端”(实际上是Charles)返回服务器的CA证书
Charles拦截服务器的响应,获取服务器证书公钥,然后自己制作一张证书,将服务器证书替换后发送给客户端。
客户端接收到“服务器”(实际上是Charles)的证书后,生成一个对称密钥,用Charles的公钥加密,发送给“服务器”(Charles)
Charles拦截客户端的响应,用自己的私钥解密对称密钥(Charles拿到了对称密钥**)**,然后用服务器证书公钥加密,发送给服务器。
服务器用自己的私钥解密对称密钥,向“客户端”(Charles)发送响应 Charles拦截服务器的响应,替换成自己的证书后发送给客户端
至此,连接建立,Charles拿到了 服务器证书的公钥 和 客户端与服务器协商的对称密钥,之后就可以解密或者修改加密的报文了。
1.2:总结: HTTPS抓包的原理还是挺简单的,简单来说, 截获真实客户端的HTTPS请求,伪装客户端向真实服务端发送HTTPS请求 接受真实服务器响应,用Charles自己的证书伪装服务端向真实客户端发送数据内容

charles的安装

傻瓜式安装即可安装路径可以自己改,不会给你快捷方式,需要记住文件夹然后自己去设置快捷方式

charles的证书下载(web)

默认情况下,charles不能解析https协议的接口,里面的请求和响应数据都是乱码格式,所以我们需要下载ssl证书,来获取里面的数据
在这里插入图片描述

点击help,选中ssl Proxying ,点击Install Charles Root Certificate
在这里插入图片描述
点击”安装证书”按钮
在这里插入图片描述
点击”下一步”按钮
在这里插入图片描述
选中”将所有的证书都放入下列存储”,点击”游览”按钮
在这里插入图片描述
选中”受新任的根证书颁发机构”,点击”确定”按钮
在这里插入图片描述
点击完成即可
在这里插入图片描述
点击”proxy”按钮,选中Proxy Settings…
在这里插入图片描述
勾选 ok即可
在这里插入图片描述
点击’proxy”按钮,选中SSL Proxyig settings…

在这里插入图片描述

点击勾选运行代理,点击“add”按钮
在这里插入图片描述
填写Host和Port都为*,正则表达式为匹配所有,再点击”OK”按钮
在这里插入图片描述
重启Charles,即可

验证是否可以获取web端的https接口

1.打开Charles
在这里插入图片描述

2.打开游览器输入数据
在这里插入图片描述

3…查看Charles
在这里插入图片描述

charles的功能操作

断点调试

方法一: breakpoints(修改request)

接口处 鼠标右击,选择breakpoints(允许本接口使用breakpionts功能)
在这里插入图片描述
开始设置断点值
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
选中request
重新请求接口(charles的界面变为可编辑状态),修改请求参数,执行请求
在这里插入图片描述
方法二: breakpoints(修改response)
接口处 鼠标右击,选择breakpoints(允许本接口使用breakpionts功能)
在这里插入图片描述
开始设置断点
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
重新请求接口(charles的界面变为可编辑状态),修改请求参数,执行请求
在这里插入图片描述
关掉breakpoint,点击【abort】
如果点击了【cancel】,只关闭此次编辑。下次访问此接口时还会进入breakpoints页面。
在这里插入图片描述

本地修改

对于maplocal功能的理解: 接口返回值通过抓包工具处理成了 一个本地文件。这个本地文件中的设定值被作为接口返回值了。

复制 response内容,保存为.txt 文件,存在电脑本地。
在这里插入图片描述
在这里插入图片描述
修改response指向(选中需要修改response值的接口 后点击右键,选中maplocal功能)
在这里插入图片描述
在这里插入图片描述
修改txt文件中 需要修改的字段值,保存
重新请求此接口,此时接口返回值已经是 txt文件中的期望值了
不用的时候,关掉maplocal。

弱网测试

模拟超慢网速(会导致接口数据返回超时的那种…)
设置带宽和延迟时间(毫秒)
注:可以根据下图中的翻译体会下导致网络延迟的原因:
在这里插入图片描述
在这里插入图片描述
打开 throt settings (功能生效后 接口数据返回会很慢)

在这里插入图片描述

在这里插入图片描述

模拟403/404

在这里插入图片描述
在这里插入图片描述
注:【blocking connection】 选项可以选择“drop connection”或者 “403 respose”.前者接口会直接返回404错误,后者接口返回403错误
在这里插入图片描述

屏蔽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 。什么都不填也没有关系
启用关注接口
在这里插入图片描述
3.重新抓包结果
不在上一步配置中的接口,都会隐藏在other host中
在这里插入图片描述

简单压力测试

接口请求次数、并发量、请求延迟时间均可配置
1.选中需要进行测试的接口,鼠标右键 选中【repeat advance】
在这里插入图片描述
2.下面的图中,选择了三个接口,每次迭代中3个接口同时请求,迭代1000次(总计请求3000次接口),
每个接口每次并发100次请求。
在这里插入图片描述

charles的证书下载(app)

默认情况下,charles不能解析https协议的接口,里面的请求和响应数据都是乱码格式,所以我们需要下载ssl证书,来获取里面的数据
在这里插入图片描述

证书下载

前提:保证电脑和手机在同一网络段(手机和电脑连接同一个wifi/热点)

在proxy中找到proxy settings
在这里插入图片描述
设置端口port以及勾选Enale transparent HTTP proxying
在这里插入图片描述
在proxy中找到SSL proxy settings
在这里插入图片描述
新增https对应的host以及端口号
在这里插入图片描述
点击help选择ssl Proxying,点击第三个(下载移动端证书)
在这里插入图片描述
弹出对应的ip地址和端口号
在这里插入图片描述
设置移动端代理
找到连接的wifi,点击进入设置代理
设置为手动,并填写对应的ip和端口号
在这里插入图片描述
使用手机下载ssl证书,用手机游览器输入:chls.pro/ssl,前往
在这里插入图片描述
点击”立即下载”按钮
在这里插入图片描述
下载完成之后进行安装即可
在这里插入图片描述
验证能否抓取到app端的接口
1.手机输入123查询
在这里插入图片描述
2.获取到该接口信息
在这里插入图片描述

charles的证书下载(虚拟器)

第一步:打开虚拟机设备
在这里插入图片描述
第二步:去掉window peoxy的勾选项(对app端测试)
在这里插入图片描述
点击proxy选中proxy Setting
在这里插入图片描述
启动http代理端口(默认8888)
在这里插入图片描述
在help中选中SSL Proxying 中的Mobile Device 安装
在这里插入图片描述
在这里插入图片描述点击设置按钮
在这里插入图片描述
点击”wifi”
在这里插入图片描述

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

点击”修改网络”
在这里插入图片描述
勾选”高级选项”并选中”手动”
在这里插入图片描述
填写代理信息(ip和端口信息)
在这里插入图片描述
打开模拟器中的游览器并输入对应的网址:chls.pro/ssl ,下载证书

在这里插入图片描述
点击下载的证书
在这里插入图片描述
给证书命名并确定
在这里插入图片描述
显示证书已安装
在这里插入图片描述
打开模拟器上的app,观察Charles中捕获的接口
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值