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

相关推荐
希和20271 小时前
免费AI视频生成工具汇总(国内优先,适合做漫剧、短视频,Obsidian笔记版)
人工智能·笔记·音视频
蒸蒸yyyyzwd2 小时前
秋招学习笔记 day109
笔记·八股
只愿云淡风清5 小时前
正则表达式学习笔记 02:基础语法
笔记·学习·正则表达式
希和202715 小时前
考研英语阅读词汇笔记|城市野径、抄近道步道(非正式小路)
笔记·考研
一个人旅程~18 小时前
关于imac27inch因改短用户名导致混合硬盘和系统崩溃的问题分析与故障解决
经验分享·笔记·macos·新浪微博
心祭丫丫18 小时前
【每天一个 Python 小案例17】Python 实现通讯录
开发语言·人工智能·笔记·python·学习
派大猩猩_20 小时前
Obsidian 笔记怎么同步多端:Nutstore Sync 大笔记库同步测评
笔记·obsidian·obsidian插件·obsidian同步
叼烟扛炮1 天前
Linux 学习笔记(五十):网络层——IP 协议、子网划分与 NAT 魔法
linux·笔记·学习
叼烟扛炮1 天前
Linux 学习笔记(六十):单线程的逆袭——epoll 高并发服务器实战
linux·服务器·网络·笔记·学习·算法
Rabitebla1 天前
【Linux操作系统】进程篇(十一):进程程序替换——从底层原理到 exec 函数族
linux·服务器·c++·笔记·学习·算法