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站自行了解。

相关推荐
2301_764441334 小时前
Aella Science Dataset Explorer 部署教程笔记
笔记·python·全文检索
派大鑫wink5 小时前
【Java 学习日记】开篇:以日记为舟,渡 Java 进阶之海
java·笔记·程序人生·学习方法
永远都不秃头的程序员(互关)6 小时前
大模型Agent落地实战:从核心原理到工业级任务规划器开发
笔记
TL滕8 小时前
从0开始学算法——第十八天(分治算法)
笔记·学习·算法
算法与双吉汉堡8 小时前
【短链接项目笔记】Day2 用户注册
java·redis·笔记·后端·spring
思成不止于此8 小时前
【MySQL 零基础入门】MySQL 约束精讲(一):基础约束篇
数据库·笔记·sql·学习·mysql
WizLC10 小时前
【JAVA】JVM类加载器知识笔记
java·jvm·笔记
TL滕10 小时前
从0开始学算法——第十八天(分治算法练习)
笔记·学习·算法
لا معنى له11 小时前
学习笔记:卷积神经网络(CNN)
人工智能·笔记·深度学习·神经网络·学习·cnn
蒙奇D索大11 小时前
【数据结构】考研408 | 冲突解决精讲: 拉链法——链式存储的艺术与优化
数据结构·笔记·考研·改行学it