欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > fiddler笔记

fiddler笔记

2025/2/5 14:01:53 来源:https://blog.csdn.net/weixin_44846205/article/details/145432658  浏览:    关键词:fiddler笔记

Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的通讯,设置断点,查看所有出入fiddler的数据。

Fiddler的作用

观察请求与返回的信息,帮助我们定位前后端bug
通过抓包工具拦截请求数据,进行修改信息,绕过前端界面限制。
通过抓包工具模拟接口请求数据,接口数据没法后面测试,做假数据

fiddler页面介绍

在这里插入图片描述

菜单栏:

file:主要导入导出session,打开窗口,保存会话等
edit:复制、移除、找session
rules:用于创建规则规则过滤会话
Tools:主要是工具,可以在options种设置Fiddler的端口号、Https请求、清除cache等
View:主要用于fiddler窗口显示的设置

工具栏:

WinConfig:说明备注
replay:重新请求
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6e774b788b044558b77b8704877aba40.png):删除会话
Go:继续执行,调试bug,断点拦截请求
Stream:流模式、缓冲模式
Decode:解码
keep:All session:保存会话
Any Process:监控指定进程
Find:寻找
Save:保存
Browse:打开浏览器
clear cache:清除IE缓存
TextWizard:编码格式转换
Tearoff:窗口分离

会话列表

result:响应状态码
protocol:协议类型(HTTP/HTTPS)
host:请求地址域名
url:访问网址
body:请求的大小
caching:请求的缓存过期时间或者缓存控制
Content-Type:请求响应的类型
process:发出此请求的window进程及进程id

request(请求)

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来显示它

response(响应)

Transformer:显示响应的编码信息
headers:用分级试图显示响应的header
textView:使用文本显示相应的body
Syntaxview:为textView的加强版,查看语法高亮的响应内容
ImageView:如果请求是图片资源,显示响应的图片
WebForms:响应在web浏览器中的预览效果
HexView:用十六进制数据显示响应
Auth:显示响应header中的Proxy-Authorization和Authorization信息
Caching:显示此请求的缓存信息
Cookies:显示此请求的cookies信息,私密P3P Header信息
Raw:将整个响应显示为纯文本
Json:如果响应的body是json格式,就是用分级的json来显示它
XML:如果响应的body是XML格式,就是用分级的XML来显示它

接口基础概述

项目:
前端:前端是肉眼所能见到的界面
后端:处理数据逻辑的
接口:提供前后端数据交互

接口标准:
网络协议://IP地址:port/url=页面路径?参数
请求方式
响应数据

fiddler抓取数据

抓取HTTPS数据

1.首次安装fiddler,菜单项Tools->Options,在Option弹窗种,点击选项卡HTTPS,勾选下图选项
在这里插入图片描述
2.点击Actions->Export Root Certificate to Desktop将证书下载到桌面
做完上述操作如果还是不能抓到,检查证书是否过期,直接点击证书查看即可,如果过期,在2步骤Action种重置证书(点击Reset all Certificates)再点击Export Root Certificate to Desktop导出
做完上述操作如果还是不能抓到,在浏览器-设置-安全-管理证书,把上面的证书导入即可
在这里插入图片描述

fiddler过滤请求

1.如图,Filters种,勾选use Filter,Hosts中可以选择过滤只显示你输入的地址域名(show only the following Hosts),下面输入框输入你要的地址域名即可
2.过滤图片、js等,在如图勾选Hide if URL contains,并在旁边输入框加上如下代码即可

REGEX:(?insx)/[^?/].(css|ico|jpg|png|gif|bmp|wav|js|jpeg)(?.)?$

在这里插入图片描述

fiddler删除数据

如图可删除全部,
单个删除,则选中要删除的session点击键盘中的delete
多个删除,按住shift+delete即可
在这里插入图片描述

fiddler如何定位bug是前后端的问题

1.打开fiddler,复现问题
2.查看Fiddler是否抓到对应请求信息,如果没有抓到可能是前端页面元素没有绑定事件,或者发生JS错误,通常是前端的BUG
3.如果Fiddler抓取到请求但返回结果错误,首先确认前端传输的数据是否正确,数据错误是前端BUG,数据正确则是后端bug
4.如果Fiddler抓取到的请求返回值的HTTP状态码是500(5xx),说明服务器错误,后端错误
5…如果Fiddler抓取到的请求返回值的HTTP状态码是404(4xx),说明请求错误,前端问题

Fiddler弱网测试

方式一:
弱网设置:菜单栏Rules->Performances->Simulate Modem Speeds:模拟调制调节器的速度
在这里插入图片描述
方式二:(自己取设置网络,更改网络速度)
Rules->Customize RUles(快捷键Ctrl+R)打开Fiddler ScriptEditor
查找m_SimulateModem标志位,手动更改上传下载时延(默认上传300毫秒,下载150毫秒)
在这里插入图片描述
修改后再设置Rules->Performances->Simulate Modem Speeds

时延计算补充

概念区分
带宽(Bandwidth):指的是在单位时间内可以传输的数据量,通常以bps(比特每秒)为单位。常见的表示有Kbps、Mbps等。
时延(Latency):指的是数据从发送端到接收端所需的时间,通常以毫秒(ms)为单位。

计算方法
要从目标带宽计算出Fiddler中的request-trickle-delay和response-trickle-delay(这些值实际上是指每KB数据需要延迟多少毫秒),我们可以使用以下步骤:

确定目标带宽:例如,假设你想模拟的下载速度为6.6 KB/s(相当于52.8 Kbps)。
转换单位:将带宽从“每秒多少字节”转换为“每字节多少秒”。对于6.6 KB/s,这意味着每传输1KB的数据需要1/6.6 秒,即大约0.1515秒或151.5毫秒。
应用到Fiddler设置:因此,在Fiddler中,如果你想限制下载速度为6.6 KB/s,你可以设置oSession[“response-trickle-delay”] = “152”(稍微向上取整以确保不超过设定的速度)。同样地,如果上传速度为3.3 KB/s,则每KB数据的上传延迟应该是1/3.3秒,约为303毫秒。

1 KB/s (千字节每秒) 表示每秒传输的数据量为1024字节(因为1KB = 1024字节,在二进制系统中)。
1 Kbps (千比特每秒) 表示每秒传输的数据量为1000比特(注意:这里是以10的三次方计数,而不是1024)。
转换关系
由于1字节等于8比特,因此可以使用以下公式进行转换:
从KB/s到Kbps:
1KB/s=1×1024bytes/s=1024×8bits/s=8192bps=8.192Kbps
从Kbps到KB/s:
1Kbps=1000bits/s=1000/8bytes/s=125bytes/s=125/1024KB/s≈0.122KB/s
2G网络:
下载速度:大约50 Kbps 到 150 Kbps
上传速度:大约50 Kbps 到 100 Kbps
3G网络(早期):
下载速度:大约384 Kbps 到 2 Mbps
上传速度:大约128 Kbps 到 512 Kbps
3G网络(HSPA):
下载速度:大约2 Mbps 到 14 Mbps
上传速度:大约512 Kbps 到 5.76 Mbps
4G网络(LTE):
下载速度:大约10 Mbps 到 1 Gbps
上传速度:大约5 Mbps 到 50 Mbps

例:2G网络的50Kbps计算
50Kbps=50x1000bits/s=50000/8bytes/s=6250bytes/s=6250/1024KB/s≈6.1KB/s
时延=1/6.1x1000=164ms

fiddler模拟mock数据

mock测试就是在测试过程中,对于某些不容易构成或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法,创建假数据。
比如:我现在有个登录下单支付的流程要测试,现在开发没写完登录的接口,我没法进行后面的测试,这个时候怎么办呢?就可以使用mock去进行测试,使用fiddler模拟登录成功的接口。
操作:
选择AutoResponder勾选enable rules
创建一个文本写入你需要的数据(json格式)
选择一个接口,添加你的数据
save保存
在这里插入图片描述

Fiddler篡改数据

1.打开fiddler
2.选中你需要操作的请求
3.添加断点,在命令窗口bpu URL,回车,添加该请求前断点成功
4.点击工作栏中Replay(重新发送请求),点击下方出现的请求(还未返回),对webforms中的值进行修改(也可以修改响应Choose Response…)
5.点击Run to Comple后,出现返回json
6.bpu 清除断点
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com