当前位置: 首页 > news >正文

3.Charles抓包工具学习

目录

    • 1.使用Charles抓取https
    • 2.将抓包导入到postman
    • 3.抓包导入到JMeter
    • 4.抓小程序的包-只能电脑
    • 4.断点设置-前置断点-修改请求数据
    • 5.断点设置-后置断点-修改服务器响应
    • 6.Mock设置
    • 7.模拟弱网
    • 8.如何抓取移动端APP
    • 9.简单的压力测试

1.使用Charles抓取https

在这里插入图片描述

在这里插入图片描述

2.将抓包导入到postman

(1)选择需要导入的接口url,鼠标右击,选择【Copy cURL Request】
在这里插入图片描述
(2)打开postman-点击【import】-复制cURL-点击【import Into Collection】
在这里插入图片描述

在这里插入图片描述
(3)可以点击send发送请求,如果没有响应,需要关闭charles

3.抓包导入到JMeter

(1)选择需要导入的接口url,鼠标右击,选择【Copy cURL Request】
在这里插入图片描述
(2)打开Jemeter-先弹出cmd窗口,耐心等待一下就会出现jemeter界面
在这里插入图片描述
(3)选择【Tools】-【Import from cURL】-粘贴cURL-并创建
在这里插入图片描述
在这里插入图片描述
运行-保存-查看结果
在这里插入图片描述

在这里插入图片描述

4.抓小程序的包-只能电脑

打开小程序
!在这里插入图片描述

在这里插入图片描述

4.断点设置-前置断点-修改请求数据

场景:当商品只剩1件时,加入购物车只能加1件,需要进行边界测试
postman:将请求参数设置为10,发送接口请求,查看是否可以添加成功
抓包
(1)抓取添加购物车的接口
(2)给接口设置断点
proxy-Breakpoint Settings-勾选Enable Breakpoint开启断点
选择接口-右键-选择Breakpoints
(3)小程序点击加入购物车-抓包工具会进行接口拦截-选择【Edit Request】更改请求-选择【Json Text】-修改数据为10,点击【Excute】执行
(4)如果小程序页面的购物车数量没有被改为10,则证明符合需求,若改为11,则证明存在bug
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

5.断点设置-后置断点-修改服务器响应

场景:测试当余额数量很大时,前端页面显示是否正常
数据库:改数据库数据,但是缺点是可能会影响其他数据
抓包:造假数据
在这里插入图片描述
添加断点,修改断点只要响应结果
可以自行指定断点接口url
在这里插入图片描述
修改响应值
在这里插入图片描述
执行Excute,查看前端展示
在这里插入图片描述

6.Mock设置

Charles 的 Map 功能分 Map Remote 和 Map Local 两种,顾名思义,Map Remote 是将指定的网络请求重定向到另一个网址请求地址,Map Local 是将指定的网络请求重定向到本地文件
1.将接口的原始响应数据进行保存为文件,然后修改里边的数据
在这里插入图片描述

2.抓包工具设置Map Local,将文件路径添加进去

3.重新请求接口,就会从改文件中获取响应进行返回,在前端展示
这样可以不用打断点进行数据mock
o

7.模拟弱网

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

8.如何抓取移动端APP

1)查看Charles端口:
在这里插入图片描述
在这里插入图片描述

2)查看电脑IP:

  • 第一种:打开cmd,进入dos窗口,输入ipconfig查看电脑IP;
    在这里插入图片描述
  • 第二种:Charles-【Help】-【Local IP Address】
    在这里插入图片描述
    在这里插入图片描述
    3)手机WiFi处做如下配置
    在这里插入图片描述

4)Charles点击Allow
在这里插入图片描述
5)手机浏览器下载安装证书或保存Charles证书发送给手机
进行安装证书
安卓只能抓测试包,正式的现在不能抓了,ios可以
ios安装证书:
在这里插入图片描述
在这里插入图片描述

9.简单的压力测试

接口请求次数、并发量、请求延迟时间均可配置
(1)选中需要进行测试的接口,鼠标右键 选中【repeat advance】

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

在这里插入图片描述

相关文章:

  • 掌握命令行中pip源的切换:提升Python包管理效率
  • 【C语言】宏定义在 a.c 中定义,如何在 b.c 中使用?
  • 初尝PaddleOCR识别图片中的文字
  • 全自动化学发光分析仪测试一个样本需要多久时间?采样需要多久的时间?以及仪器原理是什么?
  • windows非白名单exe监控并杀死
  • 飞时达软件,揭开土方工程师的生活“面纱”
  • 数据库操作语言(DML)
  • jQuery 实例:掌握 JavaScript 库的奥秘
  • 番外篇 | YOLOv8改进之即插即用全维度动态卷积ODConv + 更换Neck网络为GFPN
  • Android adb logcat日志过滤输出
  • 【Windows】Bootstrap Studio(网页设计)软件介绍及安装步骤
  • MySQL之主从同步、分库分表
  • 0704模拟记录
  • 销毁终结者:IT 采购必知:高效数据销毁服务 文件销毁 硬盘销毁 数据销毁 销毁
  • [ruby on rails]rails6.0升级6.1
  • [PHP内核探索]PHP中的哈希表
  • Github访问慢解决办法
  • Python3爬取英雄联盟英雄皮肤大图
  • webpack入门学习手记(二)
  • 好的网址,关于.net 4.0 ,vs 2010
  • 简单实现一个textarea自适应高度
  • 简单数学运算程序(不定期更新)
  • 提醒我喝水chrome插件开发指南
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 一些关于Rust在2019年的思考
  • ​​​​​​​​​​​​​​Γ函数
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • #DBA杂记1
  • #define 用法
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (BFS)hdoj2377-Bus Pass
  • (Matlab)使用竞争神经网络实现数据聚类
  • (NSDate) 时间 (time )比较
  • (笔试题)分解质因式
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (五)网络优化与超参数选择--九五小庞
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • ../depcomp: line 571: exec: g++: not found
  • ..thread“main“ com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.3.1
  • .Net Attribute详解(上)-Attribute本质以及一个简单示例
  • .Net Core webapi RestFul 统一接口数据返回格式
  • .net对接阿里云CSB服务
  • .NET开源项目介绍及资源推荐:数据持久层
  • .net用HTML开发怎么调试,如何使用ASP.NET MVC在调试中查看控制器生成的html?
  • .pub是什么文件_Rust 模块和文件 - 「译」
  • .pyc文件还原.py文件_Python什么情况下会生成pyc文件?
  • @angular/cli项目构建--Dynamic.Form
  • @autowired注解作用_Spring Boot进阶教程——注解大全(建议收藏!)
  • @Data注解的作用
  • @for /l %i in (1,1,10) do md %i 批处理自动建立目录
  • @Pointcut 使用
  • @Transactional 竟也能解决分布式事务?
  • [ HTML + CSS + Javascript ] 复盘尝试制作 2048 小游戏时遇到的问题