Fiddler笔记

文章目录

  • 一、与F12对比
  • 二、核心作用
  • 三、原理
  • 四、配置
      • 1.Rules:
      • 2.配置证书抓取https包
      • 3.设置过滤器
      • 4、抓取App包
  • 五、模拟弱网测试
  • 六、调试
      • 1.线上调试
      • 2.断点调试
  • 七、理论
      • 1.四要素
      • 2.如何定位前后端bug


一、与F12对比

相同点: 都可以对http和https请求进行抓包分析。
不同点: F12无法抓取app端的请求、无法修改请求数据,而fiddler可以。

二、核心作用

1.接口测试: 发送自定义的请求、模拟小型接口测试。
2.定位前后端bug: 抓取协议包、前后端联调。
3.构建模拟测试场景: 数据篡改、重定向。
4.弱网测试: 模拟限速操作、弱网、断网。
5.前端性能分析及优化

三、原理

是一个代理服务器,其工作原理是通过代理服务器机制来截获和转发客户端与服务器之间的网络请求和响应。Fiddler使用代理地址127.0.0.1和默认端口8888,当客户端(如浏览器)发送网络请求时,这些请求首先被Fiddler截获,而不是直接发送到目标服务器。‌

四、配置

1.Rules:

(1)隐藏不需要的数据包: 勾选Hide CONNECTs 和Hide 304s。
(2)进行断点调试: Automatic Breakpoints。
(3)弱网测试设置: Customize Rules…
在这里插入图片描述

2.配置证书抓取https包

(1).打开Tools下options中https选项: 勾选Capture HTTPS CONNECTS(捕获https连接)、Decrypt HTTPS traffic(解密https通过)、Ignore server…。

在这里插入图片描述

(2)在connections里面设置配置信息: 勾选Allow remote computers to connect等。
在这里插入图片描述

(3)重置更新证书:
点击Option的HTTPS中Actions后,进行一直下一步操作。

3.设置过滤器

作用: 只抓取需要的数据包内容
在这里插入图片描述

4、抓取App包

1.打开模拟器—>设置—>网络—>设置代理服务主机名(在命令提示符中输入ipconfig)和端口号—>在模拟器中安装和fiddler同样的证书。
2.发送请求。

五、模拟弱网测试

给代理设置不同的网络情况。
(1)设置网络传输值: 在Customize Rules…中找到下列代码进行更改。

if(m_SimulateModem){
   // Delay sends by 300ms per KB uploaded.
   oSession["request-trickle-delay"] ="300";
   // Delay sends by 150ms per KB downloaded.
   oSession["response-trickle-delay"] ="150";
}

2G:

oSession["request-trickle-delay"] ="500";
oSession["response-trickle-delay"] ="400";

3G:

oSession["request-trickle-delay"] ="100";
oSession["response-trickle-delay"] ="100";

4G:

oSession["request-trickle-delay"] ="15";
oSession["response-trickle-delay"] ="10";

改完后记得保存。

(2)设置:
在Rules下Performance中,点击后勾选Simulate Modem Speeds。
去掉勾选即可关闭。
在这里插入图片描述

六、调试

1.线上调试

在这里插入图片描述
1.复制响应信息中SyntaxView的内容到,XXX.html的新建文件中。
2.右键编辑XXX.html。
3.在fiddler中,选中AutoResponder,如上截图进行操作。
4.刷新网页界面,可看到内容已经修改。

2.断点调试

1.查看登录的webforms请求参数信息。
在这里插入图片描述
2.打开断点调试(Automatic Breakpints)
3.在请求之前修改参数信息进行发送。
拦截请求成功截图(可修改Body内容并查看响应信息):
在这里插入图片描述

七、理论

1.四要素

请求四要素: 请求头、请求路径、请求方式、请求参数。
响应四要素: 响应头、响应码、响应信息、响应数据。

2.如何定位前后端bug

理论上: 如果请求参数有问题就是前端bug,如果请求参数没有问题、返回数据有问题,那么就是后端bug(没有详细接口文档情况下,是无法判断接口参数是否有问题)。
实际上: 查看响应结果,查看页面错误信息,结合需求文档、日志信息综合进行对比。
后端bug:异常类信息。

内容来自b站码尚软件平台 、百度等,有兴趣可以去b站自行了解。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构初阶第十节】队列(详解+附源码)

好久不见。。。别不开心了,听听喜欢的歌吧 必须有为成功付出代价的决心,然后想办法付出这个代价。云边有个稻草人-CSDN博客 目录 一、概念和结构 二、队列的实现 Queue.h Queue.c test.c Relaxing Time! ————————————《有没…

idea无法联网,离线安装插件

插件地址:https://plugins.jetbrains.com/ JetBrains Marketplace 如果无法进入,可以试试 配置hosts 3.163.125.103 plugins.jetbrains.com ip 变了,可以查询个最新的: https://tool.chinaz.com/speedtest/plugins.jetbrai…

二十多年前的苹果电源Power Mac G4 Mdd 电源接口

在1999年,苹果推出了最初的Power Mac G4电脑。第一代Power Mac G4有与G3系列相似的外壳和两种主板设置,分别使用PCI和AGP显示总线。第二代电脑被昵称为快银或水银机,来自2001年的它们有更高速的PowerPC 7450系列芯片,增强了L2缓存…

qt:按钮的常见操作(简单方向键项目)

1.圆形按钮 首先,设置圆形按钮,首先要将setGeometry(x位置,y位置,长,宽)中的长和宽设置为相等,再使用一下模板 q2->setStyleSheet("QPushButton {"" background-color: black;"…

SAP-ABAP:外部断点设置详解

在 SAP 中打外部断点(External Breakpoint)是调试 ABAP 程序的一种常用方法,尤其是在调试标准程序、增强或用户出口时。外部断点允许开发人员在特定用户或特定会话中触发断点,而不会影响其他用户。以下是使用外部断点时需要注意的…

springboot399-中文社区交流平台(源码+数据库+纯前后端分离+部署讲解等)

💕💕作者: 爱笑学姐 💕💕个人简介:十年Java,Python美女程序员一枚,精通计算机专业前后端各类框架。 💕💕各类成品Java毕设 。javaweb,ssm&#xf…

(9/100)每日小游戏平台系列

项目地址位于:小游戏导航 新增一个跳跃小方块! 游戏简介 跳跃小方块(Jumping Square)是一款轻松有趣的休闲小游戏,考验玩家的反应速度和操作技巧。玩家需要控制一个蓝色小方块,通过点击屏幕或按下空格键进…

React实现自动滚动表格

在 React 中实现一个自动滚动的表格,可以通过 CSS 动画和 JavaScript 定时器来实现。以下是一个完整的示例代码,包含示例数据和自动滚动功能。 实现思路: ** 自动滚动:** 使用 setInterval 实现表格的自动滚动。 手动滚动&…

数字滤波器的设计实现及应用(论文+仿真)

3.1系统总体设计 对于本次毕业设计的课题基于DSP的IIR数字滤波器来说,在此选用了TI公司的DSP芯片TMS320F5402芯片来作为数字滤波器的主控制器,另外再采用高速AD模拟到数字转换芯片来进行输入信号的采样,以此将采集到的信号输出给主控制器进行…

Blackbox.AI:高效智能的生产力工具新选择

前言 在当今数字化时代,一款高效、智能且功能全面的工具对于开发者、设计师以及全栈工程师来说至关重要。Blackbox.AI凭借其独特的产品特点,在众多生产力工具中脱颖而出,成为了我近期测评的焦点。以下是我对Blackbox.AI的详细测评&#xff0…

Ollama DeepSeek + AnythingLLM 实现本地私有AI知识库

Ollama DeepSeek AnythingLLM 实现本地私有AI知识库 本地部署DeepSeek-r1下载安装AnythingLLMAnythingLLM 配置LLM首选项Embedder首选项向量数据库工作区其他配置 AnythingLLM Workspace使用上传知识词嵌入知识检索 本文主要介绍了如何使用AnythingLLM结合Ollama部署的DeepSee…

用 Python 实现 DeepSeek R1 本地化部署

DeepSeek R1 以其出色的表现脱颖而出,不少朋友想将其本地化部署,网上基于 ollama 的部署方式有很多,但今天我要带你领略一种全新的方法 —— 使用 Python 实现 DeepSeek R1 本地化部署,让你轻松掌握,打造属于自己的 AI…

在Windows和Linux平台上使用c++获取文件当前路径

.h #include <iostream> #include <string> #ifdef _WIN32 #include <windows.h> // 包含Windows API定义 #else #include <limits.h> // 为了PATH_MAX #include <unistd.h> // 为了getcwd #endif // _WIN32 using namespace std; #ifdef _WIN…

LabVIEW 中的 3dgraph.llb库

3dgraph.llb 库位于C:\Program Files (x86)\National Instruments\LabVIEW 2019\vi.lib\Platform目录下&#xff0c;是 LabVIEW 系统里用于 3D 图形相关操作的关键库。它为 LabVIEW 用户提供众多功能&#xff0c;可在应用程序内创建、显示和交互各类 3D 图形&#xff0c;极大增…

【linux】更换ollama的deepseek模型默认安装路径

【linux】更换ollama的deepseek模型默认安装路径 文章目录 【linux】更换ollama的deepseek模型默认安装路径Ollama 默认安装路径及模型存储路径迁移ollama模型到新的路径1.创建新的模型存储目录2.停止ollama3.迁移现有模型4.修改 Ollama 服务配置5.重启ollama6.验证迁移是否成功…

【学习】验证数独的正确性

源于面试的一个问题&#xff0c;在leetcode里也有这道题&#xff0c;参考站内的一篇文章。 首先此问题的分析需要满足三个约束条件&#xff1a; 每行不能有重复的数每列不能有重复的数每个3*3的方格中不能有重复的数 其中前两个约束条件都是容易满足的&#xff0c;关键在第三…

进阶——第十六届蓝桥杯嵌入式熟练度练习(eeprom的读写)

在MX中开启PB6,PB7 读函数 uint8_t eeprom_read(uint8_t addr) {I2CStart();I2CSendByte(0xa0);I2CWaitAck();I2CSendByte(addr);I2CWaitAck();I2CStart();I2CSendByte(0xa1);I2CWaitAck();dataI2CReceiveByte();I2CSendNotAck();I2CStop();return data; } 写函数 void eep…

哈希表(C语言版)

文章目录 哈希表原理实现(无自动扩容功能)代码运行结果 分析应用 哈希表 如何统计一段文本中&#xff0c;小写字母出现的次数? 显然&#xff0c;我们可以用数组 int table[26] 来存储每个小写字母出现的次数&#xff0c;而且这样处理&#xff0c;效率奇高。假如我们想知道字…

Java 富文本编辑器

所有桌面工具包都提供文本编辑控件&#xff0c;范围从最基础的到更高级的选项。但富文本编辑呢&#xff1f;是否有控件允许用户格式化文本并添加图片&#xff1f;有没有可以在 Java 应用程序中使用的 WYSIWYG 编辑器&#xff1f; 在本文中&#xff0c;我们将探讨如何使用 JxBr…

几道常见的链表算法题

1. 两数相加 题目描述 Leetcode:给定两个非空链表来表示两个非负整数。位数按照逆序方式存储&#xff0c;它们的每个节点只存储单个数字。将两数相加返回一个新的链表。 你可以假设除了数字 0 之外&#xff0c;这两个数字都不会以零开头。 示例&#xff1a; 输入&#xff1a;…