测试辅助工具__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【注意】 切勿使用第三方破解站或网盘镜像易植入流量劫持后门安装步骤双击 FiddlerSetup.exe → 接受许可协议 → 选择安装路径建议默认 C:\Program Files (x86)\Fiddler→ install安装 → 关闭close安装完成后自动启动。若提示 .NET Framework 4.6 缺失前往微软官网下载安装Win10/11 通常已内置首次启动会弹出 WinConfig 弹窗勾选当前使用的浏览器Chrome/Edge/Firefox→ Save Changes → 关闭桌面会生成两个快捷方式Fiddler Classic主抓包程序日常只用这个Fiddler ScriptEditor写自动化脚本的编辑器进阶使用初期可忽略4. 核心配置HTTPS 解密1.网页抓包配置默认情况下 Fiddler 只能抓取 HTTP 明文流量。抓 HTTPS 需信任根证书顶部菜单 Tools → Options → HTTPS 标签页勾选 ✅ Decrypt HTTPS traffic即可重新配置 Windows 的可信证书颁发机构列表。弹出证书信任提示 → 点击 2次Yes 安装根证书到系统信任区 → 点击 OK 保存 → 重启 Fiddler 生效正常访问https协议服务2. 手机抓包配置手机与电脑连同一 Wi-Fi手机 Wi-Fi 设置 → 代理 → 手动 → 服务器填电脑 IP端口 8888手机浏览器访问 http://电脑IP:8888 → 下载 FiddlerRoot.cer → 安装并信任证书iOS 需设 置→通用→关于本机→证书信任设置→开启 Fiddler5.基础使用教程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性能分析用 TimelineShow 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 断点调试拦截请求改参数或拦截响应改返回数据MockPerformance → 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/CSS4. 不联网也能调试页面使用教程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.测试场景分析页面 / APP 加载慢的原因定位 接口响应慢是网络服务器还是排队查看资源加载顺序JS/CSS/ 图片是否阻塞渲染分析 TCP 连接、TLS 握手、DNS、TTFB首字节 各阶段耗时看哪些请求是串行、哪些是并行优化并发使用教程打开 Fiddler抓到一堆请求刷新页面 / 点 APP选中 1 个 或 多个请求Ctrl/Shift 多选点右侧 Timeline 标签2.Timeline界面与颜色含义界面与颜色含义每行 1 个请求左边URL / 文件名右边时间条瀑布条横轴时间毫秒 / 秒颜色代表资源类型浅蓝色图片jpg/png/gif深绿色JavaScriptJS紫色CSS蓝色JSON/HTML/ 接口 / 其他3. 时间条分段含义:整个条从左到右代表: DNS → TCP 连接 → TLS 握手 → 发送请求 → 等待服务器响应TTFB → 下载响应1 条前面的空心 / 实心圆圈绿色圆圈连接复用Keep-Alive快红色圆圈新建连接慢有 TCPTLS 耗时上圈客户端→Fiddler下圈Fiddler→服务器2 黑色竖线收到服务器第一个字节TTFB线越靠右 服务器处理越慢3 条尾部图标红色 XConnection: close不能复用连接灰色箭头302 重定向红色感叹号4xx/5xx 错误4. 显示模式Timeline默认请求瀑布图最常用Client Pipe Map看客户端连接、进程、端口Server Pipe Map看 Fiddler 到服务器的连接5. Statistics统计详细时间拆分数值化汇总选中请求的流量、耗时、状态码分布、DNS 解析次数等。选单个请求统计页面如下:多选多个请求看汇总统计、平均耗时、状态码分布如下1. Statistics 面板结构从上到下基础统计顶部Request Count选中请求数Bytes Sent上行总字节请求头 请求体Bytes Received下行总字节响应头 响应体Request Started At第一个请求开始时间Response Completed At最后一个响应完成时间Sequence Duration从第一个请求开始 → 最后一个响应结束的总时长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客户端接收完毕Response Codes响应状态码统计(报错统计)看有没有大量报错、接口是否大面积异常。状态码说明200成功304缓存命中404找不到500服务器报错403/401 等权限问题RESPONSE BYTES (by Content-Type)按内容类型统计下载流量大小:看页面谁占流量最大html / scriptJS / css / image图片 / json接口 / text 等REQUESTS PER HOST按域名统计请求数哪个域名请求最多显示每个域名被请求了多少次看哪个域名请求最频繁判断接口是否重复请求,图片域名是否压力大,是否存在过多跨域导致性能差ESTIMATED WORLDWIDE PERFORMANCE全球地区速度模拟参考2. Timeline Statistics 联动深度分析步骤如下1.Timeline宏观选中多个请求 → Timeline找彩色条长最长的请求、TTFB 靠右、排队严重2.双击 → Statistics微观看 TTFB 高 → 后端问题看 TCP/HTTPS 高 → 网络 / 连接问题看 总时间大但 TTFB 小 → 资源太大 / 下载慢3.场景判断1. 服务器慢TimelineTTFB 靠右服务器慢TTFB 靠左服务器快StatisticsTTFB 占比 60%2. 下载慢 / 资源太大 / 网络慢Timeline彩色条长、但TTFB 靠左StatisticsBytes Received 大、Receive 时间长3. 后端接口慢彩色条不长但黑线TTFB 特别靠右4 排队阻塞(楼梯式排队)请求像楼梯一样一个等一个→ 浏览器并发限制 / 域名集中 / 阻塞加载总结TTFB 高 后端慢连接时间高 网络慢总时长久但 TTFB 低 资源大状态码不对 接口报错6.Log日志记录 Fiddler 自身运行日志、FiddlerScript 输出、网络错误提示。主要用于1.调试脚本FiddlerApplication.Log.LogString(“调试信息”) 输出至此2.排查代理冲突查看 Failed to establish proxy 或 Certificate trust error3.监控插件行为第三方扩展的报错/警告集中显示QuickExec 命令行位于工具栏下方/会话列表底部的输入框。输入命令后按 Enter 执行比翻菜单快 10 倍输入 help 可查看全部命令。命令执行后会在 Log 面板输出结果。命令作用测试用例cls清空列表等价 CtrlX抓包前快速清屏select .api.仅显示 URL 包含 api 的请求过滤静态资源聚焦业务接口bpv POST对所有 POST 请求设断点拦截修改请求体测试参数边界bpafter /login对 /login 响应设断点拦截修改返回数据Mock 登录失败/权限不足bpu /upload暂停上传 /upload 请求测试大文件上传中断/续传逻辑urlreplace old new替换请求中的域名/路径将线上接口 api.prod.com ,替换为测试环境 api.test.comdns刷新 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/s3G 网络慢oSession[“request-trickle-delay”] “100”oSession[“response-trickle-delay”] “50”;上行10KB/s下行20KB/s4G 弱网一般弱网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()*900100).toString();oSession[“response-trickle-delay”] Math.floor(Math.random()*900100).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 代码段(CTRLF)3. 保存生效修改后按 CtrlS 保存回到 Fiddler勾选 Simulate Modem Speeds 才生效4.分析弱网session阶段计算方式耗时问题判断DNS LookupDNS Lookup: 0ms0ms✅正常本地缓存无延迟TCP 连接TCP/IP Connect: 279ms279ms⚠️ 偏慢正常 100msHTTPS 握手HTTPS Handshake: 616ms616ms❌ 严重异常正常 200msTTFB服务器处理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适合临时调试。操作步骤开启全局请求断点Rules → Automatic Breakpoints → Before Requests所有客户端发的请求都会被 Fiddler 拦截左侧会话列表显示 红色箭头↑开启全局响应断点Rules → Automatic Breakpoints → After Responses所有服务器返回的响应都会被拦截左侧会话列表显示 红色箭头↓关闭全局断点Rules → Automatic Breakpoints → Disabled恢复正常不再拦截任何请求 / 响应2. 精准断点指定 URL不影响其他请求最常用全局断点会拦截所有请求太麻烦。精准断点只拦截你指定的 URL是测试 / 调试的首选.操作步骤命令式1.在 Fiddler 左下角黑色输入框里输入1bpu 关键词只拦截【指定 URL 的请求】改参数、头2bpafter 关键词 只拦截【指定 URL 的响应】改返回数据、状态码3bpu bpafter 清空断点关闭图形化界面通过过滤session后设置断点进行测试6.测试报告组成部分抓包原始数据导出 HTML/SAZFile → Export → Sessions → Selected Sessions → 保存位置格式.html/Fiddler Archive (.saz)Statistics 性能统计数据1.选中一个或多个请求2.点右侧 Statistics3.直接复制里面的内容请求总数状态码 200/404/500 数量TTFB、DNS、TCP、总耗时流量大小 RESPONSE BYTESTimeline 瀑布图截图缺陷截图请求 响应选中接口右侧 Inspectors上方Request请求头、参数下方Response返回数据、状态码截图 → 放进缺陷报告fiddler学习到此结束