Fiddler-02使用

news2024/11/17 15:33:56

文章目录

  • 一、Fiddler的作用
  • 二、Fiddler抓取https请求
  • 三、Fiddler过滤请求
    • 1、案例一
    • 2、案例二
    • 3、过滤页面介绍
    • 4、总结
  • 四、Fiddler删除数据
  • 五、Fiddler接口基础概述
  • 六、Fiddler请求响应报文详解
    • 1、请求
    • 2、响应
  • 七、Fiddler定位前后端的问题
  • 八、Fiddler弱网测试
    • 方式一:固定设置
    • 方式二:手动设置
  • 九、Fiddler中的mock测试
    • 1、mock作用
    • 2、应用场景举例
  • 十、Fiddler篡改数据

一、Fiddler的作用

通过抓包工具截取观察网站请求信息,更深入了解网站
观察请求与返回的信息,帮助我们定位前后端bug
通过抓包工具拦截请求数据,进行修改信息。绕过前端界面限制.
通过抓包工具模拟接口请求数据

二、Fiddler抓取https请求

Fiddler抓取https数据
1、首次安装fiddler是无法抓取https数据的,需要进行一次设置
菜单项“Tools”》“Options…” ,在弹出的Options窗口中,点选项卡“HTTPS”;
2.在Options窗口HTTPS选项卡,依次勾选“Decrypt HTTPS traffic”、“Ignore server certificate errors(unsafe)”
3.在Options窗口HTTPS选项卡,依次点“Actions”》“Export Root Certificate to Desktop”
至此,完成将根证书下载到本地桌面
设置之后就能抓到https请求了
在这里插入图片描述

三、Fiddler过滤请求

每次都能抓到很多请求,浏览器上面有别的窗口实时发送请求,fiddler都能抓到。
但是我只想抓我想要的数据怎么办?过滤;其他不要的数据过滤

1、案例一

比如:只想抓百度的接口
在这里插入图片描述

2、案例二

如果想要抓多个指定接口怎么办(抓百度和课堂派的接口)?
多个域名用;隔开,*代表通配符
在这里插入图片描述

结果:
在这里插入图片描述
这里的四个选项分别是:
不过滤
隐藏你下面设置的接口(只有这两个接口不抓取)
只抓取这下面设置的接口
抓取全部接口,将下面设置的接口加粗)
在这里插入图片描述

3、过滤页面介绍

在这里插入图片描述

在这里插入图片描述
内外网过滤,进程过滤,请求头信息过滤,断点过滤,状态码过滤,响应类型和数据大小过滤,响应头过滤等等这些是不常用的,了解一下就行
常用就是过滤图片、js、css,(不显示包含这些东西的接口)
方法:在 Hide if URL contains 中加入下面一行代码(这个代码是一个正则表达式,直接复制就行)
REGEX:(?insx)/[^?/].(css|ico|jpg|png|gif|bmp|wav|js|jpeg)(?.)?$
在这里插入图片描述

4、总结

常用过滤设置:
1、只抓取这下面设置的接口:多个域名用;隔开,*代表通配符
2、过滤图片、js、css

四、Fiddler删除数据

这是清除所有接口 这是清除所有
删除单一接口:点击接口,按下delete键
删除多个连续接口:shift选中接口,按下delete键
删除多个不连续的接口:ctrl选中接口,按下delete键

五、Fiddler接口基础概述

接口的基本概念
前端:前端是肉眼所能见到的界面
后端:处理数据逻辑的
接口:提供前后端交互的一个通道

六、Fiddler请求响应报文详解

抓到了一个接口,怎么看呢? 看一个接口 接口地址 接口参数 请求方式 响应内容

1、请求

选择这个inspectors,检查。这里有接口的信息,
headers:发送请求的头信息。这里要关注的是请求类型。
textView:请求参数信息
Syntaxview:参数的加强版
WebForms:显示请求的 GET 参数 和 POST body 内容,特别说明,这里 body 应该是 application/x-www-form-urlen-coded 格式。
HexView – 用十六进制数据显示请求 不用注意
Auth(鉴权) – 显示 header 中的 Proxy-Authorization 和 Authorization 信息。 不用注意
Cookies – 请求发送的cookies信息。
Raw – 将整个请求显示为纯文本。 接口地址 接口参数 请求方式
Json – 如果请求的 body 是 json 格式,就是用分级的 Json 来显示它。
XML – 如果请求的 body 是 XML 格式,就是用分级的 XML 树来显示它。

图片示例:课堂派登录接口
headers:发送请求的头信息。这里要关注的是请求类型。
在这里插入图片描述
textView:请求参数信息
在这里插入图片描述

Syntaxview:参数的加强版
在这里插入图片描述

WebForms:显示请求的 GET 参数 和 POST body 内容,特别说明,这里 body 应该是 application/x-www-form-urlen-coded 格式。
在这里插入图片描述

HexView – 用十六进制数据显示请求 不用注意
在这里插入图片描述

Auth(鉴权) – 显示 header 中的 Proxy-Authorization 和 Authorization 信息。 不用注意
在这里插入图片描述

Cookies – 请求发送的cookies信息。
在这里插入图片描述

Raw – 将整个请求显示为纯文本。 接口地址 接口参数 请求方式
在这里插入图片描述

Json – 如果请求的 body 是 json 格式,就是用分级的 Json 来显示它。
在这里插入图片描述

XML – 如果请求的 body 是 XML 格式,就是用分级的 XML 树来显示它。(因为这个请求不是xml的,所以无显示)
在这里插入图片描述

2、响应

响应部分内容
1、Transformer – 显示响应的编码信息
2、Headers – 用分级视图显示响应的 header。
3、TextView – 使用文本显示相应的 body。
4、Syntaxview – 为Textview的加强版,查看语法高亮的响应内容。
5、ImageVies – 如果请求是图片资源,显示响应的图片
6、HexView – 用十六进制数据显示响应。
7、WebView – 响应在 Web 浏览器中的预览效果。
8、Auth – 显示响应 header 中的 Proxy-Authorization 和 Authorization 信息。
9、Caching – 显示此请求的缓存信息。
10、Cookies – 显示此请求的cookies信息,私密 P3P Header 信息。
11、Raw – 将整个响应显示为纯文本。响应数据 和接口文档一致
12、XML – 如果响应的 body 是 XML 格式,就是用分级的 XML 树来显示它。

11、Raw – 将整个响应显示为纯文本。响应数据 和接口文档一致
在这里插入图片描述

七、Fiddler定位前后端的问题

抓到的接口如何区分是前端bug,还是后端bug? --通过看接口响应回来的内容,接口有返回就是后端没问题。
比如现在需求上面要求登录后,提示访问成功4个字,而现在没有提示。那这个时候到底是前端没显示,还是后端没给数据给前端没显示呢?
那就通过看接口响应回来的内容。有没有返回这4个字,有这4个字,则前端没显示,有这4个字,证明后端的问题。
响应结果
在这里插入图片描述

八、Fiddler弱网测试

日常进地铁、上公交、进电梯等,如果app没有对各种网络异常进行兼容处理那么用户可能在日常生活中遇到APP闪退、ANR、数据丢失等问题。

方式一:固定设置

网络设置:
Rules → Performances → Simulate Modem Speeds :模拟调制解调器的速度
在这里插入图片描述

结果:这里进行百度搜索的时候就会变慢
在这里插入图片描述

方式二:手动设置

想要自己设置网络速度,比如模拟1G、2G、3G等

操作步骤:
Rules – Customize Rules(快捷键Ctrl + R)
接着Ctrl + F 查找m_SimulateModem标志位
默认上传300毫秒,下载150毫秒
更改后,继续Rules → Performances → Simulate Modem Speeds (每次修改完都要重新执行这一步)
在这里插入图片描述

九、Fiddler中的mock测试

1、mock作用

Mock的应用就是在测试接口的时候,去模拟我们想要的接口(也就是创建假数据)。

2、应用场景举例

比如:我现在有个登录下单支付的一个流程要测试,
现在开发已经写完了下单和支付的接口,没写完登录的接口。但是没有登录接口,也就没法测试下单和支付接口。
这个时候怎么办呢?就可以用mock去进行测试。使用fiddler模拟登录成功的接口。

操作步骤:
选择AutoResponder 勾选enable rules
1.创建一个txt写入你需要的数据数据。
2.然后在选择一个接口,添加你的数据
3.save保存

1.创建一个txt写入你需要的数据数据。
在这里插入图片描述

2.选择AutoResponder 勾选enable rules,然后在选择一个接口,添加你的数据,save保存
在这里插入图片描述
3.最后浏览器输入百度,就是这个结果
在这里插入图片描述

十、Fiddler篡改数据

Fiddler篡改数据
1.选择想要篡改数据的接口
2.添加断点:在fiddler下方的命令窗口,bpu URL,回车。
在这里插入图片描述

3.点击工具栏中Replay,点击下方出现的请求(还未返回),请求中的值进行修改,如下图:
在这里插入图片描述

5、点击Run to Comple后,出现返回JSON。
在这里插入图片描述

6、去除断点:命令窗口:bpu 空格,回车

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1423373.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

(十六)串口UART

文章目录 UART简介传输数据帧和波特率定时器1作为串口1波特率发生器串口部分相关寄存器TMODAUXRPCONSCONSBUF 串口1工作模式1:8位UART,波特率可变总体工作原理如何简单接收一个字符和发送数据一步之遥的设置现象演示 UART简介 通用异步收发传输器(Unive…

程序员每天会阅读哪些技术网站来提升自己?

我有一个很特别的习惯……每周会固定一天去看一下接单网站上的高薪单子,不完全是为了接单,而是看现在稀缺的岗位是什么…… 其实很多程序员对外包接单都有误解,觉得外包接单平台上的项目都是一些边缘的、没人愿意干的项目,虽然这类…

好用的制造业项目管理工具推荐:提升生产效率与项目成功的关键利器

有什么好用的制造业项目管理工具?制造业作为传统行业,经常会采用项目制管理模式,项目管理对制造业的重要性不言而喻。2024年制造业企业面对国内依然激烈的竞争,想要进一步发展,不仅要对外谋取,也要对内优化…

【LLM多模态】Cogview3、DALL-E3、CogVLM、CogVideo模型

note 文章目录 noteVisualGLM-6B模型图生文:CogVLM-17B模型1. 模型架构2. 模型效果 文生图:CogView3模型DALL-E3模型CogVideo模型网易伏羲-丹青模型Reference VisualGLM-6B模型 VisualGLM 是一个依赖于具体语言模型的多模态模型,而CogVLM则是…

2024年【中级消防设施操作员(考前冲刺)】考试题及中级消防设施操作员(考前冲刺)考试报名

题库来源:安全生产模拟考试一点通公众号小程序 中级消防设施操作员(考前冲刺)考试题参考答案及中级消防设施操作员(考前冲刺)考试试题解析是安全生产模拟考试一点通题库老师及中级消防设施操作员(考前冲刺…

[PHP]严格类型

PHP: 类型声明 - Manual

如何有效获取 Go 变量类型?探索多种方法

嗨,大家好!本文是系列文章 Go 小技巧第九篇,系列文章查看:Go 语言小技巧。 文章目录 Go 的类型系统类型获取使用 fmt.Printf类型选择类型选择反射 reflect.TypeOf 其他注意点错误处理性能考量 总结 在 Python 中,可以使…

SpringBoot项目logback日志配置

Session 认证和 Token 认证 过滤器和拦截器 SpringBoot统一返回和统一异常处理 SpringBoot项目logback日志配置 程序运行出现错误时,第一时间想到的是甩锅还是日志?通过查看日志定位出问题的位置,才能更好的甩锅,今天就来学习…

Mastercam 2024 下载安装教程,流程简单,小白也能轻松搞定,附安装包和工具

前言 Mastercam是一款高效专业的实用型CAD/CAM设计辅助工具,集二维绘图、三维实体造型、曲面设计、体素拼合、数控编程、刀具路径模拟及真实感模拟等多种功能于一身,能够帮助用户轻松设计各种复杂的曲线、曲面零件、刀具路径等。 准备工作 1、Win10及…

Python爬虫:数据获取requests

1. 基本用法 1.1. 安装requests库 pip3 install requests 1.2. 发送HTTP请求 requests.request(method, url, **kwargs) 1.3. 发送GET请求 requests.get(url, paramsNone, **kwargs) 1.4. 发送POST请求 requests.post(url, dataNone, jsonNone, **kwargs) 1.5. 发送PU…

传感器类总结(一)MPU9250 3-2程序关于IIC的底层程序

关于IIC的逻辑和底层协议可以看之前总结的 #IIC 通信协议 1、读写数据 1.1、写数据 发送N个字节程序的流程: 1、发送起始信号 2、发送从机地址和写 3、等待从机发回应答信号 4、发送第一字节数据 等待应答 5、发送下一字节数据 等带应答或非应答信号 6、发送停止信号停止发送…

Kafka核心概念、数据存储设计及Partition数据文件 生产者负载均衡策略、批量发送技巧、消息压缩手段、消费者设计

关注公众号,发送 “面试题” 即可免费领取一份超全的面试题PDF文件!!!! 1、kafka的概念 Kafka 是一个开源的分布式流处理平台,最初由LinkedIn开发,后来成为Apache软件基金会的一个顶级项目。它…

【解决】Unity 工程无法正常打开而崩溃问题

开发平台:Unity 2022.3.17f1c1 一、问题描述 访问 Unity 工程等待 Open Projet(busy for 时间),出现崩溃、闪退等情况,导致无法正常进入Unity编辑页面。 二、问题分析 笔者在 URP 渲染管线下处理 Obi Fluid 流体插件 D…

detectron2的read_image方法

在看代码的时候,看到一行注释:use PIL, to be consistent with evaluation 说是用PIL方法加载,却又看见了BGR这种表述,后面的调用也都是cv2格式: 那我就要看下这里面是怎么实现的了,找到了read_image函数&…

知识点积累系列(一)golang语言篇【持续更新】

云原生学习路线导航页(持续更新中) 本文是 知识点积累 系列文章的第一篇,记录golang语言相关的知识点 1.结构体的mapstructure是什么 mapstructure:"default" mapstructure是一个Go语言的库,用于将一个map中的值映射到…

通过手写简易版RPC理解RPC原理

RPC是什么 所谓的RPC其实是为了不同主机的两个进程间通信而产生的,通常不同的主机之间的进程通信,程序编写需要考虑到网络通信的功能,这样程序的编写将会变得复杂。RPC就来解决这一问题的,一台主机上的进程对另外一台主机的进程发…

【2024程序员必看】鸿蒙应用开发行业分析

鸿蒙操作系统沉浸四年,这次终于迎来了破局的机会,自从2023年华为秋季发布会上宣布鸿蒙 Next操作系统不在兼容Android后,就有不少大厂开始陆续与华为达成了鸿蒙原生应用的开发合作,据1月18日华为官方宣布110多天的产业合力“突进”…

log4j2 无垃圾稳态日志 Garbage-free Steady State Logging

无垃圾稳态日志 垃圾收集暂停是导致延迟峰值的常见原因,对于许多系统来说,需要花费大量精力来控制这些暂停。 许多日志库,包括以前版本的Log4j,在稳态日志记录期间分配临时对象,如日志事件对象、字符串、char数组、字…

RocksDB是如何实现存算分离的

核心参考文献: Dong, S., P, S. S., Pan, S., Ananthabhotla, A., Ekambaram, D., Sharma, A., Dayal, S., Parikh, N. V., Jin, Y., Kim, A., Patil, S., Zhuang, J., Dunster, S., Mahajan, A., Chelluri, A., Datye, C., Santana, L. V., Garg, N., & Gawde,…

基于YOLOv7算法的高精度实时安全帽和背心目标检测系统(PyTorch+Pyside6+YOLOv7)

摘要:基于YOLOv7算法的高精度实时安全帽和背心目标检测系统可用于日常生活中检测与定位安全帽和安全背心,此系统可完成对输入图片、视频、文件夹以及摄像头方式的目标检测与识别,同时本系统还支持检测结果可视化与导出。本系统采用YOLOv7目标…