Fiddler笔记

文章目录


一、与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...中找到下列代码进行更改。

python 复制代码
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:

python 复制代码
oSession["request-trickle-delay"] ="500";
oSession["response-trickle-delay"] ="400";

3G:

python 复制代码
oSession["request-trickle-delay"] ="100";
oSession["response-trickle-delay"] ="100";

4G:

python 复制代码
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站自行了解。

相关推荐
吃不得辣条29 分钟前
网络安全笔记
笔记·web安全·智能路由器
_Kayo_2 小时前
VUE2 学习笔记11 脚手架
vue.js·笔记·学习
溯源0062 小时前
Docker学习相关视频笔记(一)
笔记·学习·docker
YGY Webgis糕手之路3 小时前
Leaflet 综合案例-聚类图层控制
经验分享·笔记·机器学习·数据挖掘·聚类
UQWRJ8 小时前
菜鸟教程R语言一二章阅读笔记
开发语言·笔记·r语言
YGY Webgis糕手之路11 小时前
OpenLayers 综合案例-轨迹回放
前端·经验分享·笔记·vue·web
遇见尚硅谷12 小时前
C语言:*p++与p++有何区别
c语言·开发语言·笔记·学习·算法
老虎062714 小时前
JavaWeb(苍穹外卖)--学习笔记13(微信小程序开发,缓存菜品,Spring Cache)
笔记·学习·微信小程序
YGY Webgis糕手之路16 小时前
OpenLayers 快速入门(九)Extent 介绍
前端·经验分享·笔记·vue·web
花月mmc16 小时前
CanMV-K230 AI学习笔记系列
人工智能·笔记·学习