http(fiddler基础版避坑教程补充):包含弱网教程

http(fiddler基础版避坑教程补充):包含弱网教程

1.fiddler(端口号默认为8888)是位于客户端与服务器端的http代理。(是免费的web调试代理工具,用于记录计算机和互联网之间的所有的http/https通信。它是web开发、测试和调试的必备的工具)。

2.主要特性:
2.1http/https流量捕获:监控所有进出流量
2.2请求/响应修改:实时修改请求和响应
2.3性能测试:分析页面加载性能
2.4安全测试:测试web应用安全性
2.5自动化脚本:使用fiddlerscript自动化任务
2.6跨平台支持:windows版本功能最全,另有fiddler everywhere支持macOS和Linux

3.安装与基本配置:(新手一定记住必须配置好证书)
3.1访问 Telerik 官网下载 Fiddler Classic(Windows)或 Fiddler Everywhere(跨平台)
a.(具体网址:https://www.telerik.com/download/fiddler)
b.选择你需要的版本(新手练习一般使用‘个人版’就够了)

image

 c.然后运行下载,进行安装

*d.首次运行时需信任fiddler根证书(用于解密https流量)
e.如要需要可以下载汉语言包

4.核心功能详解:
4.1会话列表(session List):显示所有捕获的http请求.
。# : 序号
。Result :HTTP 状态码
。Protocol : 协议类型
。Host : 主机名
。URL : 请求路径
。Body : 响应大小
。Caching : 缓存信息
。Content-Type : 内容类型
。Process :发起进程
4.2请求/响应检查器:
a.请求标签页:
Headers :查看和修改请求头
TextView : 查看文本格式的请求体
WebForms : 查看表单数据
HexView : 十六进制查看
Auth :认证信息
Cookies:Cookie 信息
Raw: 原始请求数据
JSON :JSON 格式化显示
XML:XML 格式化显示
b.响应标签页:
结构与请求标签页类似,但增加了:
Transformer: 解码压缩的响应
ImageView :显示图片
WebView :渲染 HTML
c.流量过滤:
通过 Filters 标签页设置过滤规则:
Hosts - 按域名过滤
Client Process - 按进程过滤
Request Headers - 按请求头过滤
Breakpoints - 设置断点条件
Response Status Code - 按状态码过滤
d.断点功能:
d.1设置断点方式:
菜单栏:Rules → Automatic Breakpoints
快捷键:F11(请求前断点),F12(响应后断点)
命令行:输入 "bpu URL" 或 "bpafter URL"
d.2 断点应用场景:
修改请求参数
拦截和修改响应
测试错误处理
调试 API 调用
e.AutoResponder
e.1功能:模拟服务器响应,无需后端服务
e.2使用场景:
前端开发时模拟 API 响应
测试特定响应(如404、500错误)
替换线上资源为本地文件
e.3配置示例:
规则:如果 URL 包含 "api/user"
则返回:C:\mock\user.json

fiddler
5.1fiddler中的filters的筛选过滤(筛选添网址多个时用英文分号;隔开)
5.2client process客户端进程过滤
5.3request headers请求头过滤
5.4breakpoints设置断点:可以修改表内容类似普通断点功能
5.5response status code响应状态码过滤
5.6response type and size响应类型和大小过滤
5.7response headers响应头过滤
5.8注意:(通过过滤器设置,(最后一定要保存才会生效)会话列表中只显示我们想要看到的主机名的数据包或高亮显示该部分数据包)

6.模拟慢网:
6.1Fiddler通过自定义规则来模拟不同的网络环境,主要控制:
带宽限制:模拟低速网络
延迟设置:模拟网络延迟
丢包率:模拟不稳定的网络
6.2设置方法:
。Rules菜单设置:Rules → Performance → Simulate Modem Speeds
。Customize Rules自定义配置(推荐):Rules → Customize Rules(或按 Ctrl+R 打开 CustomRules.js 文件)
6.3不同网络环境的推荐配置:

image

6.4使用弱网测试插件:
a.安装Fiddler插件:
Traffic Control:更精细的带宽控制
StresStimulus:压力测试
6.5实际测试步骤:
开启弱网模拟:Rules → Performance → Simulate Modem Speeds
配置具体参数:
。打开CustomRules.js
。修改request-trickle-delay(上行延迟)
。修改response-trickle-delay(下行延迟)
。修改upload-bandwidth和download-bandwidth
6.6测试要点
a.功能测试:
页面加载是否超时
图片、视频加载情况
表单提交是否正常
b.用户体验:
加载动画是否合理
超时提示是否友好
重试机制是否有效
c.数据一致性:
网络恢复后数据同步
本地缓存是否正确
6.7常见问题解决:
a.设置不生效:
重启Fiddler
检查CustomRules.js语法
清除浏览器缓存
b.手机代理测试:
确保手机和PC在同一网络
正确配置代理IP和端口(默认8888)
安装Fiddler根证书
c.HTTPS解密
Tools → Options → HTTPS
勾选"Decrypt HTTPS traffic"

7.高级功能:
7.1. FiddlerScript,基于 JScript.NET 的脚本引擎,可扩展 Fiddler 功能。
常用示例:
image
7.2 Composer 标签页:
功能:手动构造和发送 HTTP 请求
请求构建方式:
。Parsed - 可视化构建请求
。Raw - 原始 HTTP 请求编辑
。Scratchpad - 保存常用请求模板
7.3 性能分析:
Statistics 标签页:
。请求数量、总传输大小
。各个请求的详细时间线
。图表显示性能瓶颈
Timeline 标签页:
。瀑布图显示请求时序
。可视化分析加载性能
7.4 比较会话:
选择两个会话,右键 → Compare,比较请求/响应的差异

8.实际应用场景:
8.1Web 开发调试:
查看 API 请求参数和响应
修改请求测试不同场景
模拟网络慢速(Rules → Performance → Simulate Modem Speeds)
调试 AJAX 请求
8.2移动端调试:
配置步骤:
。确保 PC 和手机在同一网络
。手机设置代理:PC IP + 端口 8888
。手机安装 Fiddler 证书
。开始捕获移动端流量
8.3安全测试:
修改请求参数测试注入漏洞
重放请求进行暴力破解测试
检查敏感信息泄露
测试 CSRF 防护
8.4性能优化:
识别加载缓慢的资源
检查缓存策略
分析请求依赖关系
减少不必要的请求

9.实用技巧与快捷键:
9.1常用快捷键:
。F12 - 开始/停止捕获
。Ctrl+X - 清空会话列表
。F11 - 请求前断点
。Alt+Enter - 查看会话属性
。Ctrl+R - 重放请求
。 Ctrl+I - 复制 CURL 命令
9.2实用技巧:
。保存会话:File → Save → All Sessions 保存为 .saz 文件
。导入/导出:支持 HAR、SAZ 格式
。命令行工具:使用 Fiddler 命令行执行批量操作
。插件扩展:安装扩展增强功能(如 JSONView、FiddlerExtensions)

10.最佳实践:
合理过滤:使用过滤器避免捕获过多无关流量
备份配置:定期导出配置和规则
性能考虑:大量会话时注意内存使用
安全注意:妥善管理证书,测试完成后关闭代理
组合使用:结合浏览器开发者工具使用效果更佳

11.常见问题解决示例:
11.1HTTPS 捕获失败:
Tools → Options → HTTPS
勾选 "Decrypt HTTPS traffic"
点击 "Actions" → "Trust Root Certificate"
重启 Fiddler
11.2手机无法连接代理:
PC 防火墙是否允许端口8888
手机和 PC 是否在同一网络
代理设置是否正确(IP:端口)
*手机是否安装并信任了 Fiddler 证书(前面提到过,是100%重要的)
11.3某些应用流量无法捕获:
可能原因:
。应用使用自定义证书固定
。使用非 HTTP 协议(如 WebSocket、gRPC)
。系统代理被绕过
解决方案:
。配置应用信任 Fiddler 证书
。使用其他工具捕获特殊协
12.学习资源
官方文档:docs.telerik.com/fiddler
视频教程:YouTube 上的 Fiddler 教程
社区论坛:Telerik 官方论坛
书籍推荐:《The .NET Developer's Guide to Windows Security》

posted @ 2025-12-29 11:11  why练习  阅读(4)  评论(0)    收藏  举报