Fiddler介绍(浏览器代理调试工具)

Fiddler是一款非常经典的 HTTP/HTTPS 抓包与调试代理工具(Web Debugging Proxy),主要用于:

  • 抓取客户端与服务器之间的 HTTP/HTTPS 请求
  • 分析接口调用过程
  • 调试 Web 应用、移动端 App、API 接口
  • 性能分析与网络故障排查
  • 安全测试与请求重放
  • Mock 接口与请求篡改

其本质是:

一个运行在本机的代理服务器(Proxy Server)

客户端的请求先经过 Fiddler,再由 Fiddler 转发到目标服务器,因此它可以完整观察和修改通信过程。


1.Fiddler核心原理

1.1 工作模式

默认监听端口:

1
127.0.0.1:8888

通信流程:

flowchart LR

A[Browser / APP / Client] --> B[Fiddler Proxy]
B --> C[Web Server]

C --> B
B --> A

核心机制:

  • 浏览器配置代理
  • 所有 HTTP 请求经过 Fiddler
  • HTTPS 通过中间人代理(MITM)解密

1.2 HTTPS抓包原理(MITM)

HTTPS 默认是加密的,Fiddler 要想看到内容,必须:

第一步:生成根证书

Fiddler 在本机生成:

1
FiddlerRoot Certificate

第二步:安装到受信任根证书

系统信任该根证书

第三步:动态签发目标站点证书

例如访问:

1
https://api.example.com

Fiddler 会临时生成:

1
api.example.com 证书

浏览器因为信任根证书,因此也信任这个临时证书。

于是:

flowchart TB

A[Client] --> B[Fiddler伪造证书]
B --> C[真实服务器证书]

这样 Fiddler 就可以:

  • 解密 HTTPS
  • 查看明文数据
  • 修改请求内容

这就是:

Man In The Middle(中间人代理)


2.Fiddler主要功能

2.1 抓包(Capture)

可查看:

  • URL
  • Method(GET/POST)
  • Header
  • Cookie
  • QueryString
  • Body
  • JSON/XML
  • 响应内容
  • 状态码
  • 响应时间

2.2 请求重放(Replay)

可将历史请求:

1
Replay -> Reissue Requests

用于:

  • 接口测试
  • 漏洞验证
  • 压测准备

2.3 请求篡改(Breakpoint)

可设置断点:

1
2
Before Requests
After Responses

实现:

  • 修改参数
  • 修改 Cookie
  • 修改 Header
  • 修改返回值

常用于:

  • 登录绕过测试
  • 接口调试
  • 前端联调

2.4 AutoResponder(Mock)

可实现:

1
本地文件替换远程响应

例如:

1
2
/api/user/info
→ 本地 mock.json

用于:

  • 前后端分离开发
  • 离线调试
  • 压测模拟

2.5 性能分析(Timeline)

可查看:

  • DNS耗时
  • TCP连接耗时
  • SSL握手耗时
  • TTFB
  • 下载耗时

帮助定位:

  • 接口慢
  • CDN异常
  • 网络瓶颈

3.Fiddler界面核心模块

ed261bd9d719797d75f3c1261acc2f35.png

3.1 左侧:Session List

显示所有请求:

1
# Result Protocol Host URL Body Caching Content-Type Process

每一个请求称为:

1
Session

3.2 右侧:Inspectors

最核心模块:

Request

查看:

  • Header
  • Raw
  • JSON
  • WebForms
  • HexView

Response

查看:

  • 返回内容
  • JSON格式化
  • 图片预览
  • 二进制分析

3.3 Composer

手工构造请求:

类似:

  • Postman
  • curl

适合:

  • 手工接口测试

3.4 AutoResponder

Mock 系统核心模块


3.5 Timeline

性能分析核心模块


4.常见使用场景

4.1 开发调试

  • 接口调试
  • 前后端联调
  • 微服务调用分析

4.2 运维排障

  • API超时分析
  • 登录失败排查
  • Cookie异常
  • 跨域问题
  • 反向代理问题

4.3 安全测试

  • 参数篡改
  • 会话劫持验证
  • 接口漏洞验证
  • 重放攻击测试

4.4 移动端抓包

手机配置代理:

1
2
手机 WiFi Proxy
→ PC_IP:8888

实现:

  • Android 抓包
  • iOS 抓包
  • APP接口分析

5.Fiddler与其他工具对比

工具 主要用途 优点 缺点
Fiddler HTTP抓包 功能最全 Windows偏强
Wireshark 全协议抓包 网络层最强 学习成本高
Charles 抓包 + Mock UI友好 收费
Burp Suite 安全测试 渗透最强 偏安全方向
Postman API调试 接口测试方便 不是真抓包