IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> charles13 -> 正文阅读

[网络协议]charles13

charles:

抓包工具:charles,wireshark(火车头),fiddler,web端:f12
charles功能点:
1:定位前后端问题;
2:验证问题:前端、后端、网络;
为什么使用抓包工具:
如果没有接口文档,没办法使用postman测接口,所以需要使用抓包工具抓取接口,把接口填充到postman中进行测试。
charles原理:
在这里插入图片描述

1:客户端向服务器发起https请求;
2:charles拦截客户端请求,代替客户端向服务器发起请求;
3:服务器接收到请求之后,返回CA证书给客户端,但被charles拦截;
4:charles拦截的服务器的响应,获取证书,然后制作一张伪证书,代替服务端将伪证书响应给客户端;要先拿到服务器给的CA证书,才能看到数据。
CA证书:https就等于是http+ssl,ssl协议,http是一个明文传输的协议,https是加密的(因为ssl协议)。
http和https的区别:
1:http是明文传输,是不加密的;
2:https是加密协议,相当于http+ssl,ssl是加密协议;
3:http默认端口是80;https默认端口是443。
charles中web端证书的安装:
安装charles之后,在浏览器,输入要搜索的东西,charles中会拿到协议接口,第一次安装登录,可能charles中没有request和response。在这里插入图片描述
点击edit中的preferences选项,点击弹框中的viewers,取消combine request and response的勾选框,点击ok,刷新一下主页中便会有request、response;如果刷新没有显示,就重启charles。
在这里插入图片描述
第一次点击https协议下面的接口,如果request和response中出现乱码;
如果想抓取https的协议必须要下载ssl证书,下载证书之后才能把乱码的信息展示成明文;
在这里插入图片描述
charles首页中help中有一个ssl代理:

在这里插入图片描述
点击下载根证书,进入安装证书
在这里插入图片描述
证书存储
在这里插入图片描述
点击下一步,点击安装,第一次安装证书可能会跳出一个安全警告,点击‘是’。
在这里插入图片描述
然后刷新浏览器上面的请求,request和response中可能还是乱码,只下载协议还不能满足;
在charles首页中点击代理(proxy),选择ssl代理设置;选择允许ssl代理,点击add,添加host、port。host:要添加https的host,以及https对应的端口;我测试用的是www.baidu.com;
但是我们charles抓包时,抓取的不一定局限于https.baidu.com的,所以我们要抓取所有的携带https的host,在host里面写上()(代表匹配全部),port中也写()匹配全部协议,点击ok,重启charles;
在这里插入图片描述
点击ok后,关闭charles,重新打开。
再次触发浏览器上的接口,查看charles中的request、response便不会再乱码。
在这里插入图片描述
还有就是https协议下有两个接口,如何判断两个谁是正确的接口:
看response中的text里的内容
在这里插入图片描述
在这里插入图片描述

charles的功能操作

断点调试
方法一: breakpoints
详细概要:击https协议下的正确的接口,点击breakpoints,点击之后breakpoints从置非状态变为了运行状态,然后右键接口,copy url ,在proxy(代理)中点击breakpoints settings,勾选 enable breakpoints,点击add,添加刚才的url,(复制在弹出框中的host,点击任何一个文本框,然后它会自动填充),把query文本中的内容改为*,(query对应的就是后面的参数信息,query是随机生成的,如果写死了,下次不是同样的数据就不能进行断点调试了),因为是修改的request,所以要勾选request,点击ok,然后刷新浏览器的页面,charles会自动跳出断点页面,断点跳出之后,点击edit request ,修改wd中的内容 ,点击执行,页面上会显示‘重新输入wd中的内容的搜索信息’,
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
使用修改request进行断点调试场景:
用户注册,注册界面,密码长度为6-18位,输入4位密码,点击注册失败,因为前端已经进行了约束,输入1234567,可以注册成功,点击注册,charles拦截服务,把数据修改为了1234,此时1234已经不符合6-18位的规则,那么charles如果发送请求,显示注册成功,就代表后端没有进行逻辑处理。此时修改request相当于postman测试接口。(修改request是验证后端有没有问题)。
步骤:抓取该接口右键breakpoints,拷贝该接口的url,然后在代理proxy中选择breakpoints settings 设置该接口信息,将query修改成*,勾选request ,ok,刷选该界面,拿到对应的接口修改请求参数执行即可
总结:使用charles抓取接口,修改接口中的请求参数,绕开前端向后端发送错误的请求参数,验证后端是否进行逻辑处理。

使用修改response进行断点调试场景:
步骤:抓取该接口右键breakpoints,拷贝该接口的url,然后在代理proxy中选择breakpoints settings 设置该接口信息,将query修改成*,勾选response,ok,刷选该界面,拿到对应的断点接口修改响应数据执行即可。(和request一样只是一个修改的是request,一个修改的是response)
在这里插入图片描述
在这里插入图片描述
**修改response场景:**商品信息展示,验证:前端页面正常展示,商品图片下面是商品简介,详细信息的数据不能超过3行,超过3行的以小数点…的形式展示。所以如果有的一行的,两行的就无法验证此效果是否好用;我们无法修改数据库中的数据,我们可以抓取到这个返回的接口,抓取之后可以修改数据,使商品数据超过3行,在前端页面上验证是否会以小数点的形式显示。如果是以小数点形式展示的,就代表前端已经对他进行约束了,如果超过3行,就代表前端未进行约束。验证的是前端。
关注host操作:
chares首页中view里点击Focused Hosts关注域名,添加域名,
在host里添加www.baidu.com,**类似模糊查询进行匹配,代表只要域名中有www.baidu.com全部都放在一个里面,点击ok,就可以看到,如果是www.baidu.com就都放在一个协议里面,如果不是就放在other hosts里;
在这里插入图片描述
charles下载app端证书:
和web端下载一样;第一步选择下载appdaunt证书;
弱网测试:
1:模拟超慢的网速,接口会不会超时,服务器会不会崩溃 。
设置带宽;
四版本的弱网在charles中图标是个小乌龟,三版本的是个红旗;
右键copy url ,点击首页中proxy(代理),点击throttle settings(控制带宽大小),点击两个勾选框,点击add,在host中输入刚才复制的url,这里面没有query,只有对应的协议和host;选择带宽设置,选中带宽设置后,下面的数值会随着带宽的设置进行改变;点击ok,之后,会看到小乌龟进入睡眠状态,就代表弱网开启了,去浏览器刷新页面。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
模拟403和404
1:tools—>blacklist
在charles首页,点击tools,找到blacklist,勾选允许使用黑名单,填充接口url ,和上面一样把query改成*,点击ok,选择模拟的是403还是404,点击ok,刷新浏览器界面。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
如果想要取消模拟,就在tools中点击blackist,取消勾选允许使用黑名单
在这里插入图片描述
在这里插入图片描述
屏蔽web端抓包:
在这里插入图片描述
点击recording,关闭抓包,再在浏览器上刷新页面时,charles就不再进行抓包了。
抓取web端的接口时候,proxy(代理)里有一个windows proxy;
如果想要在web端进行抓包时,要同时开始recording,和windows proxy,否则无法进行抓包。
如果想要抓取app端接口,只需要开启recording,关闭windows proxy,就可以进行抓包了。
模拟器操作:
模拟器在电脑上,和电脑就是同一系统,工具中有一个代理设置,端口默认是8888,勾选允许远程http代理,点击ok, 此时我们的是开放8888端口,help中有一个ssl根证书下载,点击下载app端的证书,弹窗
在这里插入图片描述

在雷电模拟器中,点击设置,点击wifi,长按ppp这个网络,点击修改网络,点击高级选项,代理:选择手动代理,输入ip和端口号,此时模拟器代理已经设置好了,设置好之后,需要在浏览器中下载证书,在浏览器中输入chls.pro/ssl回车,提示正在下载,然后显示下载已完成,接下来为证书命名,输入证书名称,点击确定,提示已安装。
使用修改request进行断点调试
在雷电模拟器中的浏览器里,输入数据,测试charles能否抓包抓到https://m.baidu.com协议,复制url,点击breakpoints,点击proxy中的breakpoints setting,勾选 enable breakpoints,点击add,添加刚才的url,(复制在弹出框中的host,点击任何一个文本框,然后它会自动填充),把query文本中的内容改为*,(query对应的就是后面的参数信息,query是随机生成的,如果写死了,下次不是同样的数据就不能进行断点调试了),因为是修改的request,所以要勾选request,点击ok,然后刷新浏览器的页面,charles会自动跳出断点页面,断点跳出之后,点击edit request ,修改wd中的内容 ,点击执行,页面上会显示‘重新输入wd中的内容的搜索信息’。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章           查看所有文章
加:2021-12-08 14:09:52  更:2021-12-08 14:12:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年7日历 -2024/7/8 12:14:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码