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

相关推荐
小羊不会飞1 小时前
Towards Transferable Targeted 3D Adversarial Attack in the Physical World--阅读笔记
笔记
栀栀栀栀栀栀2 小时前
笔记 2025/4/23
笔记
Rey_family4 小时前
CSS学习笔记
css·笔记·学习
宇柔5 小时前
JavaEE学习笔记(第二课)
笔记·学习·java-ee
zhaoyqcsdn6 小时前
抽象工厂模式及其在自动驾驶中的应用举例(c++代码实现)
c++·经验分享·笔记·设计模式
谁家有个大人6 小时前
Python数据清洗笔记(上)
开发语言·笔记·python·数据分析
落笔画忧愁e6 小时前
数据通信学习笔记之OSPF的基础术语
网络·笔记·学习
细心的莽夫7 小时前
Elasticsearch复习笔记
java·大数据·spring boot·笔记·后端·elasticsearch·docker
铭阳(●´∇`●)7 小时前
Python内置函数---breakpoint()
笔记·python·学习
月临水8 小时前
软件测试笔记1(测试的概念、测试和开发模型介绍、BUG介绍)
软件测试·笔记·bug