当前位置: 首页 > news >正文

测试辅助工具__fiddler抓包基于windows下载安装及使用教程(详细版)

测试辅助工具__fiddler抓包基于windows使用教程

    • 1.Fiddler简介
    • 2.版本选择
    • 3.下载与安装
    • 4. 核心配置(HTTPS 解密)
      • 1.网页抓包配置
      • 2. 手机抓包配置:
    • 5.基础使用教程
      • 1.界面介绍
        • 1. 主菜单简介
        • 2. 功能面板
          • 1. Inspectors: 检查器,查看/编辑单个请求的请求和响应信息
          • 2. Composer: 请求构造器,手动构造、修改、重发 HTTP 请求(脱离浏览器独立调试)(可拖拽)
          • 3. AutoResponder:自动响应器,拦截指定的网络请求,并自动返回本地文件、自定义内容或预设状态码。
          • 4. Timeline(可视化时间条): 把一堆请求按时间顺序排成瀑布图,看谁慢、谁阻塞、谁在排队。
          • 5. Statistics:统计详细时间拆分,数值化汇总选中请求的流量、耗时、状态码分布、DNS 解析次数等。
      • 2. fiddler的常用功能
        • 1. 设置过滤
        • 2. 删除数据
        • 3. 查看数据包内容
        • 4. fiddler弱网测试
        • 5. fiddler设置断点
        • 6.测试报告

1.Fiddler简介

Fiddler 是一款免费的 HTTP/HTTPS 协议调试代理工具,它以代理服务器的形式工作,能够记录所有客户端和服务器之间的网络通信,允许你查看、分析甚至修改通信内容。可以把它理解成一个"中间人",让你清晰地看到网络请求的每一个细节

2.版本选择

目前 Fiddler 主要分为两个版本:

对比维度Fiddler Classic(经典免费版)Fiddler Everywhere(新版)
使用成本完全免费,无功能限制基础功能免费试用,高级功能需付费
适用系统仅限 Windows跨平台(Windows、Mac、Linux)
核心功能HT TP/HTTPS抓包、断点调试、弱网模拟、请求重放、脚本自定义包含免费版全部功能,额外支持团队协作、云同步、OpenAPI导入等
建议人群Windows 新手首选需要跨平台或团队协作的用户

建议:Windows 用户优先选择 Fiddler Classic,完全免费且功能足够日常使用。两个版本可以共存,互不影响。

3.下载与安装

官方直接下载地址:https://telerik-fiddler.s3.amazonaws.com/fiddler/FiddlerSetup.exe
【注意】: 切勿使用第三方破解站或网盘镜像,易植入流量劫持后门
安装步骤

  1. 双击 FiddlerSetup.exe → 接受许可协议 → 选择安装路径(建议默认 C:\Program Files (x86)\Fiddler)→ install安装 → 关闭close



  1. 安装完成后自动启动。若提示 .NET Framework 4.6+ 缺失,前往微软官网下载安装(Win10/11 通常已内置)
  1. 首次启动会弹出 WinConfig 弹窗,勾选当前使用的浏览器(Chrome/Edge/Firefox)→ Save Changes → 关闭
  1. 桌面会生成两个快捷方式:
    Fiddler Classic:主抓包程序(日常只用这个)
    Fiddler ScriptEditor:写自动化脚本的编辑器(进阶使用,初期可忽略)

4. 核心配置(HTTPS 解密)

1.网页抓包配置

默认情况下 Fiddler 只能抓取 HTTP 明文流量。抓 HTTPS 需信任根证书:

  1. 顶部菜单 Tools → Options → HTTPS 标签页
  2. 勾选 ✅ Decrypt HTTPS traffic
    即可重新配置 Windows 的可信证书颁发机构列表。
  1. 弹出证书信任提示 → 点击 2次Yes 安装根证书到系统信任区 → 点击 OK 保存 → 重启 Fiddler 生效


    正常访问https协议服务

2. 手机抓包配置:

  1. 手机与电脑连同一 Wi-Fi
  2. 手机 Wi-Fi 设置 → 代理 → 手动 → 服务器填电脑 IP,端口 8888
  3. 手机浏览器访问 http://电脑IP:8888 → 下载 FiddlerRoot.cer → 安装并信任证书(iOS 需:设> 置→通用→关于本机→证书信任设置→开启 Fiddler)

5.基础使用教程

1.界面介绍

1. 主菜单简介

测试建议:常规操作:
Tools → Options(环境配置)
Rules → Breakpoints/Performance(调试控制)
Edit → Mark/Copy(结果整理)

File:

常用功能说明
Export Sessions → Selected Sessions导出 HAR/RAW 用于 Bug 附件、接口归档、Postman 导入
Import Sessions导入历史抓包文件,用于回归测试或复现线上问题
Exit安全退出(自动保存配置)

Edit:

常用功能说明
Mark Sessions → Unmark All / Color / Comment标记关键请求(如支付接口、报错接口),便于团队协查
Copy → Just Url / Headers / Request Body快速复制接口地址、请求头、Payload 粘贴到 Bug 系统或文档

View:

常用功能说明
Inspectors / Composer / Log / Timeline切换右侧/底部面板显示,按需聚焦(如调试时用 Composer,性能分析用 Timeline)
Show Full Headers / Show Full Payload展开被折叠的请求头/响应体,排查截断问题

Tools:

常用功能说明
Options → HTTPS / Connections / Cache🔑 核心配置区:开启 HTTPS 解密、改代理端口、清理系统缓存
WinConfig一键配置 Windows 应用/UWP 走 Fiddler 代理
TextWizard快速解码/编码 Base64、URL、JSON、Hex(测试加密字段必备)
Fiddler ScriptEditor打开脚本编辑器,编写自动化拦截/替换规则

Rules:

常用功能说明
Breakpoints → Before Requests / After Responses🔪 断点调试:拦截请求改参数,或拦截响应改返回数据(Mock)
Performance → Simulate Modem Speeds / Disable Caching模拟弱网、强制禁用缓存(避免本地缓存干扰接口测试)
User-Agents → iPhone / Android / IE快速切换 UA 测试移动端适配或 H5 兼容性
Customize Rules…打开 CustomRules.js,编写高级自动化逻辑(如自动加 Token、过滤日志请求)

Help:

常用功能说明
About Fiddler / Documentation / Check for Updates查看版本、跳转官方文档、检查更新
2. 功能面板
区域作用
左侧 Sessions 列表所有请求/响应记录(按时间倒序)
右侧 Inspectors请求头/体、响应头/体、JSON 格式化、Raw 原始数据
底部 Composer手动构造请求、修改参数后重发
右侧 AutoResponder规则匹配自动返回 Mock 数据

核心面板:

1. Inspectors: 检查器,查看/编辑单个请求的请求和响应信息

2. Composer: 请求构造器,手动构造、修改、重发 HTTP 请求(脱离浏览器独立调试)(可拖拽)

3. AutoResponder:自动响应器,拦截指定的网络请求,并自动返回本地文件、自定义内容或预设状态码。

使用场景
1. 模拟接口返回错误(404、500、空数据)
2. Mock 假数据,前端没做好也能测
3. 替换线上图片 / JS/CSS
4. 不联网也能调试页面


使用教程
1.过滤,只抓取百度网站数据

  1. 设置规则,拦截百度网页并响应404
    添加规则:拖拽或手动添加(点击Add Rule)
    添加规则后,选中它,再下方的Rule Editor(规则编辑器)中进行配置,配置完点击savej进行保存,再点击Reply刷新网页或重新发起请求。

    请求后的响应信息如下:

请求匹配条件匹配规则:

匹配规则写法
精准匹配EXACT: + 完整 URL,如:EXACT:https://www.baidu.com/
模糊匹配通配符如:.js 所有 JS 文件
正则表达式匹配

响应格式分类:

测试对象响应格式
接口.json文件
异常用内置 404/500
页面.html页面
图片.png/.jpg图片
老接口.xml文件

比如测试接口:访问百度网站,响应规则是test.json文件格式
1.准备好test.json文件,信息如下:


选择test.json文件上传

点击保存,再清空session列表后进行刷新

访问百度网站后页面响应test.json文件内容

4. Timeline(可视化时间条): 把一堆请求按时间顺序排成瀑布图,看谁慢、谁阻塞、谁在排队。

1.测试场景

  1. 分析页面 / APP 加载慢的原因
  2. 定位 接口响应慢(是网络?服务器?还是排队?)
  3. 查看资源加载顺序(JS/CSS/ 图片是否阻塞渲染)
  4. 分析 TCP 连接、TLS 握手、DNS、TTFB(首字节) 各阶段耗时
  5. 看哪些请求是串行、哪些是并行,优化并发
    使用教程
  6. 打开 Fiddler,抓到一堆请求(刷新页面 / 点 APP)
  7. 选中 1 个 或 多个请求(Ctrl/Shift 多选)
  8. 点右侧 Timeline 标签

2.Timeline界面与颜色含义
界面与颜色含义

  1. 每行 = 1 个请求
    左边:URL / 文件名
    右边:时间条(瀑布条)
    横轴:时间(毫秒 / 秒)

  2. 颜色代表资源类型
    浅蓝色:图片(jpg/png/gif)
    深绿色:JavaScript(JS)
    紫色:CSS
    蓝色:JSON/HTML/ 接口 / 其他

3. 时间条分段含义:
整个条从左到右代表: DNS → TCP 连接 → TLS 握手 → 发送请求 → 等待服务器响应(TTFB) → 下载响应
1> 条前面的空心 / 实心圆圈:
绿色圆圈:连接复用(Keep-Alive,快)
红色圆圈:新建连接(慢,有 TCP+TLS 耗时)
上圈:客户端→Fiddler;下圈:Fiddler→服务器
2> 黑色竖线:收到服务器第一个字节(TTFB)
线越靠右 = 服务器处理越慢

3> 条尾部图标:
红色 X:Connection: close(不能复用连接)
灰色箭头:302 重定向
红色感叹号:4xx/5xx 错误

4. 显示模式
Timeline(默认):请求瀑布图(最常用)
Client Pipe Map:看客户端连接、进程、端口
Server Pipe Map:看 Fiddler 到服务器的连接

5. Statistics:统计详细时间拆分,数值化汇总选中请求的流量、耗时、状态码分布、DNS 解析次数等。

选单个请求,统计页面如下:

多选多个请求:看汇总统计、平均耗时、状态码分布如下

1. Statistics 面板结构(从上到下)

  1. 基础统计(顶部)
    Request Count:选中请求数
    Bytes Sent:上行总字节(请求头 + 请求体)
    Bytes Received:下行总字节(响应头 + 响应体)
    Request Started At:第一个请求开始时间
    Response Completed At:最后一个响应完成时间
    Sequence Duration:从第一个请求开始 → 最后一个响应结束的总时长
  1. ACTUAL PERFORMANCE(真实性能耗时,毫秒 / 秒):
    接口各阶段耗时
关键项说明
DNS Lookup域名解析耗时:正常:< 50ms;偏慢:50ms ~ 200ms;异常:> 200ms (DNS 配置差、网络解析慢)
TCP/IP Connect建立网络连接耗时:正常:< 100ms;偏慢:100 ~ 300ms;异常:> 300ms(网络差、跨地域、服务器距离远、频繁新建连接)
HTTPS HandshakeHTTPS 加密握手耗时:正常:< 200ms;偏慢:200 ~ 400ms;异常:> 400ms(证书链长、TLS 版本低、未复用连接)
ServerGotRequest服务器收到请求
ServerBeginResponse服务器开始返回
Time to First Byte (TTFB)==ServerBeginResponse - ClientDoneRequest服务器处理耗时:优秀:< 200ms;
正常:200 ~ 500ms ;
偏慢:500ms ~ 1s;
严重慢:> 1s(接口慢、数据库慢、后端逻辑复杂、服务器压力大)
ClientDoneResponse客户端接收完毕
  1. Response Codes:响应状态码统计(报错统计)
    看有没有大量报错、接口是否大面积异常。
状态码说明
200成功
304缓存命中
404找不到
500服务器报错
403/401 等权限问题
  1. RESPONSE BYTES (by Content-Type)
    按内容类型统计下载流量大小:看页面谁占流量最大
    html / script(JS) / css / image(图片) / json(接口) / text 等
  1. REQUESTS PER HOST(按域名统计请求数:哪个域名请求最多)
    显示每个域名被请求了多少次
    看哪个域名请求最频繁,判断:接口是否重复请求,图片域名是否压力大,是否存在过多跨域导致性能差
  1. ESTIMATED WORLDWIDE PERFORMANCE
    全球地区速度模拟(参考)

2. Timeline + Statistics 联动(深度分析)
步骤如下:
1.Timeline(宏观)
选中多个请求 → Timeline
找:彩色条长最长的请求、TTFB 靠右、排队严重
2.双击 → Statistics(微观)
看 TTFB 高 → 后端问题
看 TCP/HTTPS 高 → 网络 / 连接问题
看 总时间大但 TTFB 小 → 资源太大 / 下载慢

3.场景判断
1>. 服务器慢
Timeline:TTFB 靠右,服务器慢,TTFB 靠左,服务器快
Statistics:TTFB 占比 > 60%
2>. 下载慢 / 资源太大 / 网络慢
Timeline:彩色条长、但TTFB 靠左
Statistics:Bytes Received 大、Receive 时间长
3>. 后端接口慢
彩色条不长,但黑线TTFB 特别靠右
4> 排队阻塞(楼梯式排队)
请求像楼梯一样,一个等一个
→ 浏览器并发限制 / 域名集中 / 阻塞加载

总结:
TTFB 高 = 后端慢
连接时间高 = 网络慢
总时长久但 TTFB 低 = 资源大
状态码不对 = 接口报错

6.Log(日志):记录 Fiddler 自身运行日志、FiddlerScript 输出、网络错误提示。

主要用于:
1.调试脚本:FiddlerApplication.Log.LogString(“调试信息”) 输出至此
2.排查代理冲突:查看 Failed to establish proxy 或 Certificate trust error
3.监控插件行为:第三方扩展的报错/警告集中显示

QuickExec 命令行

位于工具栏下方/会话列表底部的输入框。输入命令后按 Enter 执行,比翻菜单快 10 倍:
输入 help 可查看全部命令。命令执行后会在 Log 面板输出结果。

命令作用测试用例
cls清空列表(等价 Ctrl+X)抓包前快速清屏
select .api.仅显示 URL 包含 api 的请求过滤静态资源,聚焦业务接口
bpv POST对所有 POST 请求设断点拦截修改请求体,测试参数边界
bpafter /login对 /login 响应设断点拦截修改返回数据,Mock 登录失败/权限不足
bpu /upload暂停上传 /upload 请求测试大文件上传中断/续传逻辑
urlreplace old new替换请求中的域名/路径将线上接口 api.prod.com ,替换为测试环境 api.test.com
dns刷新 DNS 缓存域名解析异常时强制刷新

2. fiddler的常用功能

1. 设置过滤

2. 删除数据

删除一条数据:

删除所有数据:

3. 查看数据包内容

4. fiddler弱网测试

1.弱网开启
Rules → Performance → Simulate Modem Speeds,勾选 = 弱网开启;取消 = 恢复正常

2.自定义弱网参数
弱网参数模板

模板参数速度
2G 网络(极慢)oSession[“request-trickle-delay”] = “300”
oSession[“response-trickle-delay”] = “150”;
上行:≈ 3.3KB/s
下行:≈ 6.6KB/s
3G 网络(慢)oSession[“request-trickle-delay”] = “100”
oSession[“response-trickle-delay”] = “50”;
上行:10KB/s
下行:20KB/s
4G 弱网(一般弱网)oSession[“request-trickle-delay”] = “20”
oSession[“response-trickle-delay”] = “10”;
上行:50KB/s
下行:100KB/s
高延迟(网络不稳、排队严重)oSession[“request-trickle-delay”] = “1000”
oSession[“response-trickle-delay”] = “1000”;
每 KB 延迟 1 秒
适合测:超时、重试、排队、堵死
随机抖动(更真实弱网)if (m_SimulateModem) {
oSession[“request-trickle-delay”] =
Math.floor(Math.random()*900+100).toString();
oSession[“response-trickle-delay”] =
Math.floor(Math.random()*900+100).toString();}
随机100~1000ms/KB
只对某个域名限速(精准)if (m_SimulateModem && oSession.host.indexOf(“api.xxx.com”) > -1) {
oSession[“request-trickle-delay”] = “300”;
oSession[“response-trickle-delay”] = “150”;}

1.打开规则脚本:Rules → Customize Rules…

2. 找到 m_SimulateModem 代码段(CTRL+F)

3. 保存生效
修改后按 Ctrl+S 保存
回到 Fiddler,勾选 Simulate Modem Speeds 才生效

4.分析弱网session

阶段计算方式耗时问题判断
DNS LookupDNS Lookup: 0ms0ms✅正常(本地缓存,无延迟)
TCP 连接TCP/IP Connect: 279ms279ms⚠️ 偏慢(正常 < 100ms)
HTTPS 握手HTTPS Handshake: 616ms616ms❌ 严重异常(正常 < 200ms)
TTFB(服务器处理)ServerBeginResponse - ClientDoneRequest1714ms❌ 严重超标(正常 < 500ms)
下载响应ClientDoneResponse - ServerBeginResponse17:47:23.871 - 17:47:23.715 = 156ms✅ 正常(156ms)
总耗时Overall Elapsed1870ms❌ 严重偏慢(正常 < 1.5s)

总结:通过 Fiddler Statistics 分析,该接口总耗时 1870ms,其中 TTFB(首字节时间)高达 1714ms,占总耗时 90% 以上,服务器处理严重缓慢;同时 HTTPS 握手耗时 616ms、TCP 连接耗时 279ms,网络连接开销较大。建议后端优化接口逻辑与数据库查询,同时优化 HTTPS 证书配置与连接复用,降低建连开销。

5. fiddler设置断点

作用:拦截请求 / 响应,让你可以修改内容、篡改参数、模拟异常,再放行到服务器 / 客户端。

断点的两种核心类型

请求断点响应断点
说明拦截客户端发往服务器的请求拦截服务器返回给客户端的响应
用途修改请求参数、请求头、请求体,模拟非法参数、越权操作、重复提交等修改响应数据、状态码、响应头,模拟接口报错、数据异常、权限不足等
时机请求到达 Fiddler 后,还没发给服务器时暂停服务器返回响应后,还没发给客户端时暂停

断点分类:

1.全局断点(一键开启 / 关闭):适合快速拦截所有请求 / 响应,不用指定 URL,适合临时调试。
操作步骤:

  1. 开启全局请求断点
    Rules → Automatic Breakpoints → Before Requests
    所有客户端发的请求,都会被 Fiddler 拦截,左侧会话列表显示 红色箭头↑
  2. 开启全局响应断点
    Rules → Automatic Breakpoints → After Responses
    所有服务器返回的响应,都会被拦截,左侧会话列表显示 红色箭头↓
  3. 关闭全局断点
    Rules → Automatic Breakpoints → Disabled
    恢复正常,不再拦截任何请求 / 响应

2. 精准断点(指定 URL,不影响其他请求,最常用)
全局断点会拦截所有请求,太麻烦。精准断点只拦截你指定的 URL,是测试 / 调试的首选.
操作步骤:
命令式:
1.在 Fiddler 左下角黑色输入框里输入:
1)bpu 关键词:只拦截【指定 URL 的请求】(改参数、头)
2)bpafter 关键词 :只拦截【指定 URL 的响应】(改返回数据、状态码)
3)bpu bpafter : 清空断点(关闭)
图形化界面:
通过过滤session后,设置断点进行测试

6.测试报告

组成部分:

  1. 抓包原始数据(导出 HTML/SAZ)
    File → Export → Sessions → Selected Sessions → 保存位置
    格式:.html/Fiddler Archive (.saz)
  2. Statistics 性能统计数据
    1.选中一个或多个请求
    2.点右侧 Statistics
    3.直接复制里面的内容:
    请求总数
    状态码 200/404/500 数量
    TTFB、DNS、TCP、总耗时
    流量大小 RESPONSE BYTES
  3. Timeline 瀑布图截图
  4. 缺陷截图(请求 + 响应)
    选中接口
    右侧 Inspectors
    上方:Request(请求头、参数)
    下方:Response(返回数据、状态码)
    截图 → 放进缺陷报告

fiddler学习到此结束

http://www.jsqmd.com/news/652414/

相关文章:

  • 2025届最火的六大降重复率方案推荐榜单
  • STM32 PWM模式全解析:从基础PWM到Combined PWM的进阶用法(避坑指南)
  • 深入解析特殊时序路径:从Unconstrained Path到False Path的实战策略
  • 2026年帮设计师快速生成交互流程的AI工具推荐:4款主流产品对比
  • 2026年值得关注的化妆学校,助力美妆梦想起航 - 品牌测评鉴赏家
  • 2026年AI搜索营销生成式优化领域核心服务商3强格局与能力洞察报告 - 商业小白条
  • 【AIGC生产环境生死线】:为什么传统RateLimiter在LLM调用中全面失灵?重写熔断器的3个底层协议适配关键点
  • 【项目实战】Windows 10 Docker Desktop 安装前置条件检测与解决方案
  • YOLOv8-Pose关键点检测实战:从图片到骨骼线绘制的保姆级避坑指南
  • 纯前端实现发票二维码批量识别——PDF.js + jsQR 实战
  • 图像质量评价指标全解析:SROCC、PLCC、KROCC到底怎么选?
  • 零基础学化妆|6家合规化妆培训参考,新手择校避坑指南 - 品牌测评鉴赏家
  • claude 安装配置手册
  • linux系统中简单统计python项目代码行数信息
  • NSCT图像分解实战:用Matlab+NSCT_TOOLBOX处理医学影像(附完整代码)
  • Markdown编辑器
  • 2026化妆培训十大机构盘点!零基础小白择校不踩坑! - 品牌测评鉴赏家
  • Python自动化查询DELL服务器保修信息:从SN号到完整报告(附多线程优化)
  • 2025届毕业生推荐的降AI率工具推荐
  • 别再瞎调参数了!GPT-5的reasoning_effort和verbosity到底怎么设?实战避坑指南
  • 避免数据丢失!双系统Ubuntu扩容必知的5个关键步骤与常见错误
  • OpenIPC固件在君正T31ZX平台烧录失败故障排查与彻底解决方案
  • OpenCL SDK技术深度解析与高性能计算实战指南
  • 电力负荷预测实战:用AAAI最佳论文Informer模型搞定未来72小时用电量
  • 告别IE内核:在WPF中集成CefSharp构建现代化Web视图
  • 情绪价值拉满:用 ArkUI 写个“马屁精”APP,点一下屏幕换着花样疯狂夸你
  • OpenClaw v2026.4.5 源码安装
  • 12 - Go Slice:底层原理、扩容机制与常见坑位
  • 项目实训(三):安全分析引擎迭代——统一 Source 模型、SQL 形态识别与污点传播重构
  • 为什么92%的AI项目在Q3财报前暴雷成本超支?揭秘生成式AI分摊模型中被忽略的3个隐性因子