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

相关推荐
Yeh2020582 小时前
cookie与Session笔记
笔记
d111111111d2 小时前
STM32-UART封装问题解析
笔记·stm32·单片机·嵌入式硬件·学习·算法
寒秋花开曾相惜3 小时前
(学习笔记)4.2 逻辑设计和硬件控制语言HCL(4.2.1 逻辑门&4.2.2 组合电路和HCL布尔表达式)
linux·网络·数据结构·笔记·学习·fpga开发
Yeh2020583 小时前
request与response笔记
java·前端·笔记
Fuyo_11194 小时前
C++ 内存管理
c++·笔记
柳鲲鹏4 小时前
李善兰和牛顿,谁剽窃谁的运动三定律
笔记
handler016 小时前
Linux 进程探索:从 PCB 管理到 fork() 的写时拷贝
linux·c语言·c++·笔记·学习
xuhaoyu_cpp_java6 小时前
MyBatis学习(五)
经验分享·笔记·学习·mybatis
AI_661465977 小时前
副业平台收益效率评估:实验设计、指标体系与数据分析框架
经验分享·笔记
阿星_7 小时前
Windows Subsystem for Linux (WSL) 运行 Firefox 浏览器时遇到中文乱码的解决方法
笔记