一、Fiddler基础介绍
1.1 工具定位与核心功能
- 工具性质:HTTP/HTTPS协议调试代理工具
- 核心能力:
- 记录并检查计算机与互联网之间的所有通信
- 支持设置断点调试
- 查看请求/响应原始数据(Cookie/HTML/JS/CSS等)
1.2 核心应用场景
- Bug定位:通过分析请求响应信息定位前后端问题
- 绕过限制:拦截并修改请求数据突破前端限制
- 接口测试:模拟接口请求进行功能验证
- 安全测试:检查敏感数据传输安全性
二、Fiddler实战应用指南
2.1 HTTPS抓包配置
1. 打开配置面板:
[Tools] > [Options] > [HTTPS]
2. 勾选配置项:
✅ Decrypt HTTPS traffic
✅ Ignore server certificate errors
3. 证书导出:
[Actions] > [Export Root Certificate to Desktop]
注意:抓不到https包的可以看我上一篇链接噢!我终于抓到https了我终于抓到https了!!!!-CSDN博客
2.2 请求过滤技巧
- 操作路径:
[Filters] > [Use Filters] > 选择需要的功能
2.3 接口分析要素
要素分类 | 关键内容 |
---|---|
接口地址 | 完整URL路径(含协议/域名/端口) |
请求参数 | Query参数和Body参数格式 |
请求方式 | GET/POST/PUT/DELETE等 |
响应内容 | JSON/XML格式及关键字段解析 |
三、协议报文深度解析
3.1 请求报文分析
GET /api/v1/user?page=1 HTTP/1.1
Host: api.example.com
User-Agent: Mozilla/5.0
Accept: application/json
关键检查点:
- 请求头校验:
- Content-Type(数据格式标识)
- Authorization(鉴权凭证)
- 参数展示模式:
- WebForms(表单数据)
- JSON Viewer(结构化展示)
- HexView(二进制数据)
请求栏工具图解:
① 入口:Inspectors(检查器)
作用:查看接口的完整请求和响应信息(请求头、请求体、响应头、响应体)。
操作:选中抓取到的接口,在 Inspectors 标签页中展开详细内容。
② 查看请求头(Headers)
关键信息:请求类型(Content-Type):决定参数如何传递(如 application/x-www-form- urlencoded 或 application/json)其他头信息(如 User-Agent、Authorization)。
注意:若接口需要鉴权,需检查 Authorization 或 Cookie 是否携带合法令牌。
③ 根据数据格式选择视图
文本参数(GET/POST 表单)
WebForms:直接查看 GET 参数(URL 后缀)和 POST 的 application/x-www-form- urlencoded 格式参数。
TextView:以纯文本形式查看原始参数。
JSON 数据
JSON 视图:自动格式化 JSON 数据,便于阅读和校验结构。
XML 数据
XML 视图:以树状结构展示 XML 数据,支持节点展开/折叠。
十六进制调试
HexView:查看请求的原始二进制数据(如图片、文件上传等场景)。
④ 高级调试功能
Cookies:检查请求是否携带正确的 Cookie 信息(如会话 ID)。
Auth:验证是否包含鉴权信息(如 Bearer Token)。
Raw:直接查看请求/响应的完整原始文本(适合排查编码问题)。
3.2 响应报文解析
视图模式 | 适用场景 |
---|---|
SyntaxView | JSON/XML语法高亮 |
ImageView | 图片内容预览 |
WebView | HTML页面渲染效果 |
Caching | 缓存策略分析 |
功能名称 | 功能描述 |
Transformer | 显示响应的编码信息(如字符编码、内容类型等)。 |
Headers | 以分级视图展示响应头信息(如 |
TextView | 直接以纯文本形式显示响应体内容(无格式解析)。 |
SyntaxView | 增强版文本视图,支持语法高亮(如 JSON/XML 代码高亮)。 |
ImageView | 若响应为图片资源(如 JPEG/PNG),直接显示图片内容。 |
HexView | 以十六进制格式显示响应的二进制数据(如文件、图片的原始数据)。 |
WebView | 在嵌入式浏览器中预览响应内容(如 HTML 页面渲染效果)。 |
Auth | 显示响应头中的鉴权信息(如 |
Caching | 展示请求的缓存策略信息(如缓存控制头 |
Cookies | 列出响应中携带的 Cookie 信息(包括 )。 |
Raw | 完整显示响应的原始内容(包括头部和 body,需与接口文档对比验证一致性)。 |
XML | 若响应体为 XML 格式,以分级树状结构展示节点(如 |
四、前后端问题定位技巧
4.1 问题判断标准
- 前端问题特征:
- 接口返回数据完整
- 页面显示缺失/错误
- 后端问题特征:
- 接口返回状态码异常(4xx/5xx)
- 响应数据缺失关键字段
五、弱网模拟测试
5.1 配置方法
-
打开脚本编辑器:
[Rules] > [Customize Rules] > [Ctrl+F搜索m_SimulateModem] -
修改网络参数:
if (m_SimulateModem) { // 上行延迟300ms,下行延迟150ms oSession["request-trickle-delay"] = "300"; oSession["response-trickle-delay"] = "150"; }
-
启用弱网模式:
[Rules] > [Performance] > [Simulate Modem Speeds]
六、Mock数据与篡改测试
6.1 Mock数据构建
-
数据保存:
[File] > [Save] > [Response] > [Response Body] -
数据回放:
6.2 请求篡改流程
-
设置断点:
-
篡改请求:
- 修改请求参数/请求头
- 调整请求体内容
-
释放请求:
附录:常用快捷键速查
功能 | 快捷键 |
---|---|
清空会话列表 | Ctrl + X |
查找请求 | Ctrl + F |
重放请求 | R + Enter |
持续捕获开关 | F12 |