测试工程师良品 —— Fiddler 工具简介

测试工程师面试基础知识点 文章摘要:本文系统总结了软件测试工程师需要掌握的核心技能,包括Linux服务器操作、MySQL数据库查询、测试理论与流程、Fiddler抓包工具、Monkey随机测试、APP专项测试、性能测试、接口测试和UI自动化测试等9大模块。重点介绍了测试流程规范、用例设计方法、缺陷管理、性能测试指标、接口测试策略等关键技术,并详细讲解了各种测试工具的实际应用场景和操作技巧,为测试工程师提供了全面的知识体系和技术参考。 阅读详情

前言

Fiddler 是目前最强大最好用的调试工具之一,它能记录所有客户端和服务器的http和https请求,设置 CGI 请求的断点,甚至修改输入输出数据。
fiddler 的工作原理,是它在 web server 和 web browser 之间搭了一层 proxy,所有的请求都会经过它,如下图所示:

bigsec

fiddler可以针对web端和移动端网络请求进行抓包分析,如何安装和实现抓包,以及如何在无数请求中运用强大的过滤机制进行精准定位,这里不再进行介绍。fiddler除了进行以上常用功能之外,还能针对抓包过程和请求进行设置。以下将按照fiddler菜单和fiddler script分类介绍fiddler的一些功能。

1、Fiddler 菜单页面

除了对web端和移动端进行抓包之外,fiddler菜单还可以实现以下常用功能。

  • 设置断点
  • Fiddler AutoResponder 请求地址重定向
  • fiddler限速

1、设置断点

断点可以分为request和response断点。request断点是打在request请求的时候,未到达服务器之前,response断点是打在服务器响应之后,在Fiddler将响应传回给客户端之前拦截。可以通过打断点,修改请求内容,达到需要的目的。

Fiddler可以修改以下请求:

  • Fiddler设置断点,可以修改HTTP请求头信息,如修改Cookie,User-Agent等
  • 可以修改请求数据,突破表单限制,提交任意数字,如充值最大100,可以修改成10000
  • 拦截响应数据,修改响应体,如修改服务端返回的页面数据

全局断点:这种方法会中断所有的会话

  • 设置断点:Rules-> Automatic Breakpoint ->[type]
  • 清除断点:Rules-> Automatic Breakpoint ->Disabled

bigsec

单个断点

  • 请求前断点(before response): bpu
    在命令行中输入: bpu www.baidu.com
    清除断点:在命令行中输入bpu
  • 响应后断点(after requests): bpafter
    在命令行输入:bpafter www.baidu.com
    清除断点: 在命令行中输入bpafter

断点设置并成功拦截请求,可以在右侧分析区修改数据,并选择 run to continue 或者继续 break on response。

bigsec

2、Fiddler AutoResponder 请求地址重定向

AutoResponder 是 Fiddler 比较重要且比较强大的功能之一。可用于拦截某一请求,并重定向到本地的资源,或者使用Fiddler的内置响应。可用于调试服务器端代码而无需修改服务器端的代码和配置,因为拦截和重定向后,实际上访问的是本地的文件或者得到的是Fiddler的内置响应。

如图所示,勾选按钮,并点击 Add Rule ,将 Rule Editor 第一行修改为线上档案位址,按下 Rule Editor 第二行右边的箭头,选择 Find a file ... ,选择要替换成的本机端档案,按下右边的 SAVE ,大功告成;将线上档案替换成另一个线上档案,只需在 Rule Editor 第二行填入的是另一线上档案位址。
如图:

bigsec

3、Fiddler 限速

web 前端研发过程中,我们都希望在网速很慢的时候,用户首先看到的是渲染出的界面,而不是一片空白。那么这个时候,网络限速就能很方便在 localhost 针对类似的情况来做性能调试与优化。
通过 fiddler 来模拟限速,是因为 fiddler 本来就是个代理,它提供了客户端请求前和服务器响应前的回调接口,我们可以在这些接口里面自定义一些逻辑。Fiddler 的模拟限速正是在客户端请求前来自定义限速的逻辑,此逻辑是通过延迟发送数据或接收的数据的时间来限制网络的下载速度和上传速度,从而达到限速的效果。

开启方法如下:Rules → Performances → Simulate Modem Speeds。勾选之后,会发现网速瞬间慢下来了很多。

bigsec

菜单栏可以直接开启限速,但是网络限速数值是多少,需要通过 fiddler script 进行查看和设置。

2、Fiddler script

在 web 前端开发的过程中,大多数情况下,通过 fiddler 默认菜单的功能可以满足开发者的很多调试需求,然而当有更复杂的调试场景时,需要通过 Fiddler Script 实现。
Fiddler Script 的本质其实是用 JScript.NET 语言写的一个脚本文件 CustomRules.js,语法类似于 C#, 通过修改 CustomRules.js 可以实现很多菜单栏不能直接实现的功能。

Fiddler script 可以实现的功能:

  • 设置限速数据
  • 修改http的Request或Response

打开脚本文件CustomRules.js有两种方法:
① CustomRules.js 位于 C:Documents and Settings[your user]My DocumentsFiddler2ScriptsCustomRules.js,打开文件即可
② 在 Fiddler 中打开 CustomRules.js 文件:启动Fiddler, 点击菜单 Rules->Customize Rules,弹出 Fiddler Script 编辑框,即可编辑文件

1、设置限速数据

打开fiddler script编辑框,找到如下代码:

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

“500”和“150”就是当前delay的时间,可以按照需要手动修改。
算法就是 1000/下载速度 = 需要delay的时间(毫秒),比如50kB/s 需要delay20毫秒来接收数据,所以根据你需要的网络速度来修改上述值。
【注】:存档之后,原本已经勾选的Simulate Modem Speeds 会被取消勾选,需要再到Rules → Performances → Simulate Modem Speeds 勾选,同时需要注意一定要禁用浏览器代理插件,以及修改完成后重启浏览器才能生效。

2、修改http的Request或Response

修改 Request 和 Response 要在 FiddlerScript 中的 OnBeforeRequest 和 OnBeforeResponse 函数中添加规则即可。OnBeforeRequest 函数是在每次请求之前调用,OnBeforeResponse 函数是在每次响应之前调用。

将请求转发到相同端口号的不同服务器(修改请求的 Host)

if(oSession.HostnameIs("www.baidu.com")) {       
   oSession.hostname = "www.sina.com.cn"; 
}

这个例子是将发送到百度的请求转发到新浪,这里只是改变了host,并不改变后面的地址。如下面图片所示:

bigsec

除此之外,通过修改 fiddler script 文件内容,可以实现很多通过菜单栏无法实现的功能,包括修改 session 的样式,修改 http(s) 请求内容,还可以定制 rule 菜单的子菜单等,可以自行学习。
Fiddler 作为目前最好用的调试工具之一,功能很强大,这里仅做简单介绍,有兴趣的可以深入学习。

3、与其他抓包软件的区别

与charles:

fiddler 有win和linux版本,linux版本需要在Mono环境中运行;charles 没有平台限制。Fiddler属于上游,在fiddler里面对http进行的一些修改直接会影响到Charles里面的请求结果。

与WinPcap:

Winpcap是一个Win32平台下用于抓包和分析的系统,包括一个内核级别的packet filter,一个底层的DLL(packet.dll)和一个高级的独立于系统的DLL(Wpcap.dll)。主要抓取底层通信数据包,比如协议栈、数据流组装等,是底层环境可以直接操纵网络通信的程序。
它不依靠主机的诸如TCP/IP协议去收发数据包,这意味着它不能处理同一台主机中各程序之间的通信数据。跟fiddler抓取的http(s)数据包有本质区别。

58,滴滴,京东等大厂都在用的抓包工具:Fiddler。软件测试工程师必会技能 前言:Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(例如cookie,html,js,css等文件)。换句话说就是Fiddler可以拦截请求和响应的http代理工具。 应用场景: 1.接口调试和测试 2.线上环境调试 3.web性能分析 4.判断前后端bug 5.开发环境hosts配置 6.... 阅读详情

相关推荐

基于Simulink的IEEE33节点配电网仿真实战:从建模到分布式能源集成

本文详细介绍了基于Simulink的IEEE33节点配电网仿真实战,从基础建模到分布式能源集成。通过MATLAB脚本管理参数、搭建Simulink模块,并集成风机和光伏系统,实现高效配电网仿真。文章还涵盖潮流计算、故障分析及性能优化技巧,为电力系统仿真提供实用指导。

git9versioner的博客 991

[fiddler笔记]测试工程师经常会用到的fiddler的功能

1.fiddler的使用场景开发环境host配置,前后端接口调试,线上bugfix,性能分析优化2.fiddler的主界面分为:工具面板,会话面板,监控面板,状态面板工具面板:说明注释、重新请求、删除会话、继续执行、流模式/缓冲模式、解码、保留会话、监控指定进程、寻找、保存会话、切图、计时、打开浏览器、清除IE缓存、编码/解码工具、弹出控制监控面板、MSDN、帮助两种模式缓冲模式(Bufferin...

qq_30758629的博客 1万+

深入解析STM32驱动AT25DF321A FLASH芯片的SPI通信与数据完整性验证

本文深入解析STM32通过SPI通信驱动AT25DF321A FLASH芯片的全过程,包括硬件连接、驱动函数实现与数据完整性验证。重点介绍SPI配置、读写操作优化及CRC校验方法,确保数据存储的可靠性,为嵌入式存储系统开发提供实用指南。

agile9scrum的博客 1064

fiddler使用教程以及工作原理

一、Fiddler抓包工具简介 Fiddler是位于客户端和服务器端的HTTP代理。 Fiddler是目前最常用的http抓包工具之一。 Fiddler是功能非常强大,是web调试的利器。 二、Fiddler工作原理 Fiddler原理图如下: Fiddler是一个代理服务器。代理地址:127.0.0.1,端口:8888。浏览器可以通过设置查看代理服务器:设置->高级->打开您计算机的代理设置->连接->局域网设置->代理服务器->在高级中就.

weixin_47329041的博客 2798

Java 大视界 -- Java+Spark MLlib 构建智能推荐系统:协同过滤算法实战与优化(441)

Java+Spark MLlib构建智能推荐系统实战 本文详细介绍了基于Java和Spark MLlib构建协同过滤推荐系统的全流程实践方案。主要内容包括: 架构设计:采用离线批处理为主、近实时更新为辅的架构,包含数据采集层、处理层、模型层、推荐生成层、存储层和应用层六大模块,可支撑千万级用户推荐需求。 技术实现: 使用Spark MLlib的ALS算法进行协同过滤模型训练 提供数据清洗、模型训练、推荐生成等核心代码实现 采用MySQL存储推荐结果,支持批量插入和事务保障 生产级优化: 版本化模型存储规避覆

【青云交】华为云云享专家 | 阿里云开发者社区专家博主 技术圈个人影响力前 9 | 博客之星 TOP12 优快云 首位四榜(原力榜 / 作者周榜 / 领军人物 / 综合热榜)榜首,破平台纪录! 苏州地区全榜霸榜,感恩全网十多万粉丝同行! 2539

LED单元板驱动(HUB75接口)

开始之前先吐槽一下,搜这个的资料。要么都是Arduino,要么单片机的收费。小小的一个LED单元板,凭什么? 用Arduino是你速度快还是我ST,树莓派不好用?收费更离谱,这点东西还藏私?给你个中指凸。把原理都写出来看你怎么收费。 一、接口定义及原理 如图,有两个RGB通道,共占用6个IO。剩下的ABCDE为地址通道,LAT为行数据锁存通道,CLK为数据时钟,OE为低电平使能LED显示。图片这里没有E,证明它是16扫的,有E就会把B上面的地改为E。这样就是5位,2的5次方32扫。1.

a3748622的博客 3万+

Fiddler —— 1、初识((抓包)web调试工具)

对fiddler进行一个初步的了解

qq_51575088的博客 1653

【时间序列预测算法】——Holt-Winters算法介绍及代码实现

背景 一阶二阶三阶指数平滑方法拟合效果均较好,通过结合数据自然属性,数据自身、趋势变化、季节性,提出了这三个角度的衡量量,可以说,理解起来更自然、更亲切。 公式 一阶: sts_tst​是t时刻对xtx_txt​的估计值,这里只有一个参数α,是数据本身的平滑属性的体现。 二阶: 引入了时间趋势变量btb_tbt​,优化了一下一阶的公式。同时还可以预测t+m时刻的值: 三阶: 又引入了季节性周期描述变量ctc_tct​,优化了一下二阶的公式。同时还可以预测t+m时刻的值: NOTE:ct

BlackValley的博客 1万+

【Fiddler】Fiddler抓包工具(详细讲解)

Fiddler是通过改写HTTP代理,让数据从它那通过,来监控并且截取到数据。当然Fiddler很屌,在打开它的那一瞬间,它就已经设置好了浏览器的代理了。当你关闭的时候,它又帮你把代理还原了,是不是很贴心。。。Composer允许自定义请求发送到服务器,可以手动创建一个新的请求,也可以在会话表中,拖拽一个现有的请求Parsed模式下你只需要提供简单的URLS地址即可(如下图,也可以在RequestBody定制一些属性,如模拟浏览器User-Agent)

A1_3_9_7的博客 7121

DDR5中的On-Die Termination(ODT)详解:电阻值支持及其背后的秘密

DDR5支持多档ODT电阻值,范围从40Ω到480Ω,均基于240Ω标准参考电阻RZQR_{ZQ}RZQ​。不同电阻档位对应不同的信号负载和功耗需求。校准电压点关键,常用0.8×VDD进行精准调校。CA信号间ODT匹配必须严格控制,保证命令总线稳定。选择合适的ODT值是高速内存设计中不可忽视的细节。

weixin_43199439的博客 2099

RK3588开发笔记-PCIE接口2.5G网卡RTL8125调试记录

在RK3588平台上调试2.5G网卡(Realtek RTL8125)时,我们会用到PCIE接口,这篇文章记录了从硬件连接、内核驱动到最终实现网络通信的整个调试过程,包括可能遇到的问题和解决方案。Realtek RTL8125是为高带宽需求设计的一款高性价比2.5G以太网控制器。它不仅提供了高达2.5Gbps的网络传输速率,还具备良好的节能特性、硬件卸载引擎和广泛的操作系统支持。无论是在家庭网络、企业NAS,还是游戏和云计算等场景中,RTL8125都能为用户提供更快速、更稳定的网络连接。

flypig has a dream! 3680

李小杰_测试工程师简历

测试工程师简历 李小杰 2年工作经验 | 本科 | 23岁 | 男 联系电话: 18810722283 电子邮箱: lylixiaojie@163.com 自我描述 综合能力: 个人能力 | 责任心 | 抗压能力 | 团队精神 | 执行力 大学专业为测试方向 熟练使用禅道,testlink等管理工具。 熟练使用jmeter,fiddler,postman等接口工具。 熟练使用Linux,pyth...

lixj_qi的博客 1万+

MIMO-OFDM通信系统性能仿真及MATLAB实现

将MIMO和OFDM技术结合起来,可以充分利用两者的优点,进一步提高无线通信系统的性能。在MIMO-OFDM系统中,多个天线同时发射多个子载波,称为多天线多载波(MIMO-OFDM)系统。随着无线通信技术的不断发展,MIMO-OFDM技术因其高效、可靠和适应性等优点已被广泛应用于新一代通信系统中。本篇文章旨在介绍MIMO-OFDM通信系统的基本原理及其性能评估方法,并结合MATLAB提供相关代码实现。本篇文章介绍了MIMO-OFDM通信系统的基本原理和性能评估方法,并结合MATLAB提供了相关的实现代码。

学习使你进步。 2218

软件测试工程师必看:手把手教你用Fiddler进行数据抓包与分析

不断练习和实践,将Fiddler变成你的第二双眼睛,看清网络流量背后的真相,成为一名更加优秀的测试工程师。

程序员二黑 1310

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Fiddler抓包工具详细使用教程

各位做测试的同学想必对fiddler并不陌生,但是很多同学可能没有总结过它的用法,下面我总结了fiddler一些常用的用法。打开配置完后记得要重启Fiddler选中Decrpt HTTPS traffic, Fiddler就可以截获HTTPS请求第一次会弹出证书安装提示,若没有弹出提示,勾选Actions -> Trust Root Certificate如果要监听的程序访问的HTTPS站点使用的是不可信的证书,把下面的Ignore server certificate errors勾选上。

百晓生说测试的博客 7968

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Fiddler及浏览器开发者工具进行弱网测试

弱网测试,属于健壮性测试的一种。想象一下,用户在地铁、电梯,车库等场景使用软件,我们就需要针对这些场景的弱网环境下,验证出现丢包、延时等处理机制,避免因用户体验不友好造成用户的流失。当然,我们不能拿着电脑或者手机到地铁、电梯,车库等地方进行现场测试,一般来说,测试环境或开发环境网络又比较顺畅,要解决这种问题,就需要制造弱网络的环境进行测试、复现并修复问题。接下来讲解实际工作中遇到问题,并进行弱网复现的案例。① 在一次测试过程中,输入数据,点击确定提交。

okcross0的博客 1209

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

软件测试常用抓包工具 Charles 与 Fiddler

抓包工具Charles与Fiddler在当今软件开发和测试中扮演着重要角色。它们不仅能够帮助我们高效调试网络请求,还会对我们的职业发展产生积极影响。无论我们选择哪种工具,掌握抓包技巧都会帮助我们在软件测试行业占据更有利的地位。送您一份软件测试学习资料大礼包。

ceshiren_com的博客 1690

测试工程师必备--抓包工具fiddler

fiddler 1. fiddler下载, 安装与设置 1. 安装fiddler 安装jdk 下载fiddler https://www.telerik.com/fiddler 进行安装 2. 使用fiddler抓取HTTP请求设置步骤 tools -> Options -> HTTPS -> Decrypt HTTPS traffic(HTTPS解密) -> Yes -> 是 -> 是 -> 是(证书) -> 确定 -> OK -> 重启

qxj2422640226的博客 663

Fiddler抓包工具完全指南:测试工程师的网络调试利器

javascript// FiddlerScript高级功能// 性能监控// 记录慢请求// 自动修改请求// 重写API版本// 添加测试标记// 响应验证if (!Fiddler作为一款功能强大的网络调试工具,为测试工程师提供了全面的网络请求分析能力。通过掌握本文介绍的高级用法,你可以:高效进行接口测试和验证深入分析网络性能问题实施安全测试和漏洞检测实现自动化测试流程快速定位和解决网络相关问题。

chengzi_beibei的博客 619

【Fiddler】Fiddler实现mock测试(模拟接口数据)

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

2401_86343726的博客 808

高级测试工程师简历

高级软件测试工程师 工作技能 熟练掌握 Web 端和 APP 端常规性测试,包括搭建测试 bug 管理系统,编写测试用例, 部署测试环境,对 WEB 端进行接口测试,功能测试,兼容性测试,输出[验收报告] 熟练掌握 SQL 语句,对 WEB 端和 APP 端相关需求做数据库(MYSQL)验证测试, 熟练掌握 Fiddler,Acunetix,Burpsuite 工具,可模拟暴力攻击和对相关接口数据进行抓 包、弱网测试和安全性测试。 了解 python 脚本,负责编写数据驱动自动化框架,编写 web 端自动

weixin_44602565的博客 5825

Fiddler在软件测试中的具体应用

一、抓包,辅助定位bug(web中类似谷歌浏览器F12开发调试工具) 合格的软件测试工程师,不仅仅需要能够发现bug,还需要能透过bug表象,分析出问题根本原因,从而提升bug的解决效率,通过fiddler可以抓取接口请求的request和response,通过对参数进行分析,可以定位是前端问题还是后台问题,直接找到对应的开发人员,可以快速解决问题。 1.1、示例--APP抓包分析 配置前提:手机与电脑在同一局域网 配置步骤: 1、Fiddle...

weixin_42490308的博客 1340

“软件测试工程师”面试复习之《HTTP协议及抓包工具Fiddler》

供面试复习使用,内容主要来自《HTTP抓包实战 作者:肖佳》和《图解HTTP 作者:日本上野宣》 关于HTTP协议 一、web网页是如何显示出来的? 1、打开浏览器,输入url地址,此时web浏览器向web服务器发送了一个HTTP请求 2、web服务器接收到HTTP请求后开始进行处理,生成一个HTTP响应,发送回给web浏览器 3、浏览器接收到HTTP响应后,将其中包含的web网页内容(即HTML)展示出来。 (若HTML中引用了很多其他文件,如图片、CSS、JS文件等,浏览器会自动再次发送多个子请求给we

weixin_45580903的博客 1504

2024Fiddler如何进行弱网测试!

使用Fiddler对手机App应用进行抓包,可以对App接口进行测试,也可以了解App传输中流量使用及请求响应情况,从而测试数据传输过程中流量使用的是否合理。

1298

高频Fiddler软件测试面试题

在软件测试的面试过程中,Fiddler抓包工具的相关知识,可以说是必考的了,下面为大家整理了一些高频Fiddler面试题,拿走不谢~

2301_77645573的博客 1705
上一篇: 【干货】借鉴开源框架自研日志收集系统
bigsec
博客等级 码龄11年 56粉丝 51原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值