跳转到内容
Guides 2 分钟阅读 1352 次浏览

Fiddler

了解如何用 Fiddler 在 Windows 上进行全面的 HTTP/HTTPS 流量分析,理解网络行为并高效调试应用。

Browser
Fiddler

Fiddler 是一款免费的 Web 调试代理,可让开发者和安全人员在 Windows 系统上捕获、检查、修改并重放客户端(如浏览器或应用程序)与服务器之间的 HTTP/HTTPS 流量。它以中间人的身份运行,拦截所有经过它的网络请求和响应,从而对 Web 通信提供细粒度的控制与可见性。

将 Fiddler 配置为代理

安装

Fiddler Classic 可从 Telerik 官方页面下载。安装过程使用标准的 Windows 安装向导。首次启动时,Fiddler 通常会自动将自己配置为系统代理。

Fiddler 的默认代理配置

Fiddler 默认监听 127.0.0.1:8888。启动时,它会自动修改 Windows 系统代理设置,把流量导向该地址;关闭时通常会恢复原有的系统代理设置。这种自动配置让常规 Web 调试更为简便。

捕获 HTTPS 流量

要检查 HTTPS 流量,Fiddler 必须先解密。这需要把 Fiddler 的根证书安装到系统的受信任证书存储区。

  1. 依次打开 Tools > Options > HTTPS
  2. 启用 Capture HTTPS CONNECTs
  3. 启用 Decrypt HTTPS traffic
  4. 点击 Actions,再点击 Trust Root Certificate。确认所有安全提示。

证书被信任后,Fiddler 即可对 HTTPS 连接执行中间人操作:为每个被拦截的域名生成由其受信任根证书签发的临时证书。凡是信任 Fiddler 根证书的客户端,都会通过 Fiddler 发送流量而不出现安全警告。

将 Fiddler 与外部上游代理集成

企业常使用公司代理来实现网络安全、内容过滤或访问控制。可以把 Fiddler 配置为将捕获到的流量转发给这样的上游代理,从而在不绕过安全基础设施的前提下调试位于公司代理之后的应用。

配置 Fiddler 使用上游代理

将 Fiddler 与现有代理串联:

  1. 依次打开 Tools > Options > Gateway
  2. 选择以下选项之一:
    • Use System Proxy: Fiddler 会尝试使用操作系统层面配置的代理设置(例如 Internet Explorer 的 LAN 设置)。这是默认行为。
    • Manual Proxy Configuration: 指定自定义的上游代理。
      • 选择 Manual Proxy Configuration
      • hostname:portIP_address:port 格式填写代理地址和端口。
      • 示例:corporateproxy.example.com:8080
      • 如果上游代理需要认证,请勾选 Authenticate with upstream proxy 并填写凭据。
  3. 点击 OK 应用更改。

Fiddler 的代理链行为

当 Fiddler 使用上游代理时,流量路径变为:

客户端(例如浏览器) -> Fiddler (127.0.0.1:8888) -> 上游代理 -> 互联网

Fiddler 先完成捕获和解密,再把(可能已重新加密的)请求转发给配置好的上游代理,由上游代理负责路由到最终目标。这条链路多了一跳,可能带来轻微延迟。

使用 Fiddler 分析流量

会话列表

主界面显示已捕获会话的列表。每一行代表一次 HTTP/HTTPS 请求及其对应响应。主要列包括:
* Result: HTTP 状态码。
* Protocol: HTTP 或 HTTPS。
* Host: 目标服务器主机名。
* URL: 完整的请求 URL。
* Body: 响应体大小。
* Caching: 缓存指令。

Inspectors

Inspectors 选项卡提供所选请求与响应的详细视图。

  • 请求 Inspectors:
    • Headers: 显示所有 HTTP 请求头。
    • WebForms: 显示 URL 编码的表单数据。
    • Raw: 展示完整的原始 HTTP 请求。
    • JSON/XML: 针对 JSON/XML 请求体的格式化视图。
  • 响应 Inspectors:
    • Headers: 显示所有 HTTP 响应头。
    • TextView: 响应体的纯文本视图。
    • ImageView: 渲染图片响应。
    • Raw: 展示完整的原始 HTTP 响应。
    • JSON/XML: 针对 JSON/XML 响应体的格式化视图。

AutoResponder

AutoResponder 选项卡可拦截请求,并用本地文件或自定义数据直接响应,而不与服务器通信。适用于:
* 模拟 API: 为开发和测试模拟服务器响应。
* 测试错误场景: 返回特定的 HTTP 状态码。
* 修改内容: 注入本地的 JavaScript 或 CSS 文件。

规则可使用精确匹配、通配符或正则表达式定义。

Composer

Composer 选项卡允许手动构造并发送 HTTP 请求。适用于:
* 重放请求: 重新发送此前捕获的请求,可按需修改。
* 测试 API 端点: 发送自定义请求以检查 API 行为。
* 模糊测试: 使用不同参数反复发送请求。

发送前可修改 URL、请求头和请求体。

Filters

Filters 选项卡可对会话列表进行过滤,聚焦相关流量。
* Hosts: 显示或隐藏发往特定主机名的流量。
* Processes: 按来源 Windows 进程过滤流量(例如只显示 chrome.exe 的流量)。
* URL Content: 隐藏 URL 中包含特定字符串的会话。
* Status Codes: 只显示具有特定 HTTP 状态码的会话。

只显示某个主机流量的过滤示例:

// 在 'Hosts' 区域勾选 'Show only traffic from the following Hosts'
// 将 'example.com' 添加到列表中。

代理分析的常见用途

调试 Web 应用

Fiddler 有助于诊断如下问题:
* 请求参数发送错误。
* 服务器返回意外响应或错误码。
* HTTP 头缺失或格式不正确。
* 跨域资源共享(CORS)问题。

安全测试

  • 认证流程分析: 拦截登录请求,检查凭据是否安全传输。
  • 漏洞识别: 发现未加密的敏感数据、不安全的 HTTP 头或错误配置。
  • 会话管理: 分析 Cookie 属性和会话令牌的使用方式。

性能优化

  • 资源加载: 找出体积过大的资源、加载缓慢的请求或低效的缓存策略(例如缺少 Cache-Control 头)。
  • 请求开销: 检查请求的数量和大小,优化网络占用。

API 开发与测试

  • API 检查: 了解应用与其后端 API 的交互方式。
  • API 模拟: 使用 AutoResponder 为前端开发模拟各种 API 响应。
  • 端点验证: 使用 Composer 以不同的负载和参数测试 API 端点。

Fiddler 与其他代理工具对比

特性 Fiddler Classic(Windows) Burp Suite Community(跨平台) Charles Proxy(跨平台)
主要定位 常规 Web 调试、开发、性能分析。 Web 安全测试、渗透测试。 常规 Web 调试、开发、性能分析。
费用 免费 免费(Community Edition),付费(Professional Edition) 付费(提供试用)
系统支持 Windows Windows、macOS、Linux Windows、macOS、Linux
HTTPS 解密 支持,需安装根证书。 支持,需安装根证书。 支持,需安装根证书。
核心功能 AutoResponder、Composer、Filters、丰富的 Inspectors。 Proxy、Intruder、Repeater、Sequencer、Decoder、Scanner(Pro)。 Proxy、Rewrite、Map Local/Remote、Throttling、DNS spoofing。
脚本能力 FiddlerScript(JScript.NET),可自定义规则和扩展。 扩展(Java、Python、Ruby)。 自定义插件(Java)。
易用性 对开发者和测试人员友好。 学习曲线较陡,面向安全专业人员。 界面直观,适合常规调试。

Fiddler 代理问题排查

看不到流量

  • Fiddler 捕获状态: 确认 File > Capture Traffic 已勾选(或按 F12)。状态栏应显示 "Capturing"。
  • 系统代理设置: 确认 Fiddler 已成功配置系统代理。进入 Tools > Options > Connections,确保 Act as system proxy on startup 已勾选。
  • 客户端配置: 若调试的是非浏览器应用,请确认它已配置为使用 Fiddler 的代理(127.0.0.1:8888)。
  • 防火墙: 检查是否有防火墙阻止了 Fiddler 的端口或网络访问。

HTTPS 解密错误

  • 证书信任: 确认 Fiddler 根证书已在系统和浏览器中正确安装并受信任。可在 Tools > Options > HTTPS 下重新执行 Actions > Trust Root Certificate
  • 应用自带的信任库: 某些应用(例如移动应用、Java 应用)使用自己的证书信任库,绕过系统存储。这类应用可能需要把 Fiddler 证书手动装入其专属信任库,或关闭证书固定(certificate pinning)。
  • 证书过期: 确认 Fiddler 根证书尚未过期。

上游代理连通性

  • 地址/端口正确:Tools > Options > Gateway 中再次核对上游代理的地址和端口。
  • 认证: 如果上游代理需要认证,请核实在 Fiddler 中填写的凭据。
  • 网络可达性: 确认运行 Fiddler 的机器能够访问上游代理服务器。可用 pingtelnet 测试到上游代理 IP 和端口的连通性。
  • 上游代理日志: 查看上游代理的日志,排查连接被拒或认证错误。
已更新: 04.03.2026
返回分类

试用我们的代理

遍布 100+ 国家的 20,000+ 代理

support_agent
GProxy Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.