简介:Fiddler是一款由Telerik开发的HTTP协议抓包与调试代理工具,广泛用于开发者、测试人员排查接口调用异常、网页加载缓慢及网络流量分析等场景。本资源提供Fiddler的完整下载包,适合需要快速获取工具、搭建本地调试环境的中初级技术人员使用。压缩包为7z格式,共包含90个文件,整体约3.11MB,其中以dll动态库、exe可执行程序、pdb调试符号、dat响应模板、wav提示音、config配置文件及ico图标等为主,覆盖主程序、证书工具、脚本编辑器与导入导出模块等核心组件。目前已有2248人学习下载,热度较高。借助该资源,读者可省去逐项查找安装文件的麻烦,直接获得可运行的Fiddler程序及其配套组件,便于后续开展HTTPS解密、断点调试、AutoResponder规则模拟与性能时间线分析等实践,快速上手网络抓包与接口排错工作。
1. Fiddler 下载前,先把这套抓包环境想清楚
Fiddler 这名字在测试和运维圈里出现频率极高,但很多人第一次装就翻车——装完发现 HTTPS 全是锁头,抓到的包全是 CONNECT 隧道,根本看不到明文。问题不在 Fiddler 本身,而在证书链没走通。我见过太多人卡在这一步,以为工具坏了,其实是系统根证书没导入。这篇笔记按我自己的安装习惯走一遍:从版本选择、下载渠道、安装路径,到 HTTPS 解密配置、移动端抓包、常见报错处理,最后给一个验证清单。适合刚接触抓包的新手,也适合换机器后想快速恢复环境的老手。Fiddler Classic 和 Fiddler Everywhere 是两条线,下面会讲清楚怎么选。
2. 版本选择与下载:Classic 还是 Everywhere
2.1 两个版本的核心差异
Fiddler 目前主流是两个分支:Fiddler Classic 和 Fiddler Everywhere。名字像,定位完全不同。
Fiddler Classic 是老的 Windows 桌面版,免费,功能全,脚本扩展能力强,但只跑在 Windows 上,界面偏旧。Fiddler Everywhere 是跨平台重写版,Windows、macOS、Linux 都能装,界面现代,但免费版有功能限制,比如会话数量、协作功能会卡。
我一般这样选:如果主力机是 Windows,且需要写 FiddlerScript 做复杂改包,直接上 Classic。如果用的是 macOS 或者需要跨设备同步,选 Everywhere。下面安装步骤以 Classic 为主,Everywhere 的差异会单独标出来。
提示:不要同时装两个版本,证书和端口会打架,卸载不干净时 8888 端口会被占用。
2.2 下载渠道与安装包校验
Fiddler Classic 的安装包从 Telerik 官网获取,文件不大,几十兆。下载时注意系统架构,现在基本都是 x64。安装包拿到后,我习惯先看数字签名,右键属性 → 数字签名,确认签名者是 Telerik 相关实体,避免下到二次打包的版本。
Fiddler Everywhere 同理,官网下载对应平台安装包。macOS 是 dmg,Linux 是 AppImage 或 deb。下载完先别急着双击,Windows 上如果 SmartScreen 拦截,点“更多信息”再“仍要运行”,这是没签名的老版本常见情况。
安装路径建议改到非系统盘,比如D:\Tools\Fiddler,方便后面找证书和脚本目录。默认路径在C:\Program Files (x86)\Fiddler2或%LOCALAPPDATA%\Programs\Fiddler,看版本。装完先别开,下一步配证书。
2.3 安装后的目录结构速查
装完后有几个目录要记住:
Scripts:FiddlerScript 脚本目录,CustomRules.js 在这里CertMaker:证书生成工具目录Inspectors:请求响应查看器插件ImportExport:导入导出格式支持
这些路径在 Classic 里比较固定,Everywhere 改成了应用内管理,不用手动翻目录。记住这些是为了后面排错时能快速定位。
3. 安装与基础配置:端口、证书、系统代理
3.1 首次启动与端口设置
第一次打开 Fiddler,它会自动把系统代理指向127.0.0.1:8888。这个端口是默认的,如果被占用,Fiddler 会弹窗提示。改端口在 Tools → Options → Connections,把 Fiddler listens on port 改成别的,比如 8899。
改完端口后,系统代理不会自动更新,需要手动去 Windows 的 Internet 选项 → 连接 → 局域网设置,把代理地址改成新端口。或者干脆在 Fiddler 里点一下“Act as system proxy on startup”重新勾选,让它自己刷。
# 检查 8888 端口是否被占用(Windows) netstat -ano | findstr :8888 # 如果有输出,最后一列是 PID,去任务管理器结束对应进程 taskkill /PID <PID> /F这段命令用来排查端口冲突。netstat -ano列出所有连接和监听端口,findstr :8888过滤出 8888 相关行,最后一列 PID 是进程号。taskkill强制结束进程。常见占用 8888 的是其他代理工具或之前没退干净的 Fiddler 进程。
3.2 HTTPS 解密配置:证书安装是核心
Fiddler 默认只抓 HTTP,HTTPS 全是加密隧道。要解密 HTTPS,必须让 Fiddler 生成一张根证书,装到系统信任区。
步骤:Tools → Options → HTTPS,勾选 Capture HTTPS CONNECTs 和 Decrypt HTTPS traffic。然后点 Actions → Trust Root Certificate。Windows 会弹安全警告,选“是”。这一步做完,Fiddler 的根证书就进了系统“受信任的根证书颁发机构”。
如果弹窗没出来,或者装完还是抓不到明文,手动导入:Actions → Export Root Certificate to Desktop,导出 .cer 文件,然后双击安装,选“本地计算机”,手动放到“受信任的根证书颁发机构”。
# 用 certutil 查看系统根证书里有没有 Fiddler 的证书(Windows) certutil -store Root | findstr /i "fiddler" # 如果有输出,说明证书已安装 # 如果没有,需要手动导入 certutil -addstore -f Root "C:\Users\你的用户名\Desktop\FiddlerRoot.cer"certutil -store Root列出根证书存储区所有证书,findstr过滤 Fiddler 相关。certutil -addstore -f Root强制把证书加到根存储区。这个命令在证书装不上时特别有用,比图形界面报错信息清楚。
注意:Chrome 和 Edge 有自己的证书管理,某些版本不认系统根证书。如果浏览器抓不到,去浏览器设置里搜“证书”,手动导入同一张 .cer 文件到“受信任的根证书颁发机构”。
3.3 移动端抓包配置
手机抓包是刚需。步骤分三步:手机和电脑连同一局域网,手机 WiFi 代理设为电脑 IP 和 Fiddler 端口,手机浏览器访问http://电脑IP:8888下载证书并安装。
Android 高版本(7.0+)对用户证书有额外限制,App 默认不信任用户安装的证书。解决办法是用 root 把证书装到系统区,或者用 Fiddler 的 Android 专用配置。iOS 相对简单,下载证书后去“设置 → 通用 → 关于本机 → 证书信任设置”里手动开启完全信任。
# 查看本机局域网 IP(Windows) ipconfig | findstr /i "IPv4" # macOS / Linux ifconfig | grep "inet "ipconfig和ifconfig用来拿本机 IP,手机代理里填这个 IP。注意不要填 127.0.0.1,那是手机自己。防火墙如果拦了 8888 端口,手机连不上,临时关防火墙或者加一条入站规则。
4. 避坑与排查:五个高频翻车现场
4.1 现象:HTTPS 全是 CONNECT,看不到明文
原因:证书没装到系统信任区,或者浏览器不认系统证书。Fiddler 只能看到 CONNECT 请求,因为 TLS 握手没被解密。
解决:先确认 Fiddler 的根证书在系统根证书列表里,用certutil -store Root | findstr /i "fiddler"查。如果没有,手动导入。如果系统里有但浏览器还不行,去浏览器自己的证书管理里再导一次。Chrome 地址栏输入chrome://settings/certificates,在“授权机构”里导入。
4.2 现象:手机连上代理但打不开网页
原因:电脑防火墙拦了 8888 端口,或者手机和电脑不在同一网段。
解决:Windows 防火墙 → 高级设置 → 入站规则 → 新建规则 → 端口 → TCP 8888 → 允许连接。macOS 在“安全性与隐私 → 防火墙 → 防火墙选项”里加 Fiddler 为允许。另外确认手机 WiFi 没开 AP 隔离,有些路由器默认隔离设备间通信。
4.3 现象:Fiddler 启动后系统上不了网
原因:Fiddler 异常退出,系统代理没恢复,指向了一个不存在的端口。
解决:Windows 设置 → 网络和 Internet → 代理 → 手动设置代理,关掉“使用代理服务器”。或者用命令行重置:
# 重置系统代理(Windows) netsh winhttp reset proxy # 查看当前代理状态 netsh winhttp show proxynetsh winhttp reset proxy把 WinHTTP 代理重置为直连。注意这只影响 WinHTTP,不影响 IE 选项里的代理。如果 IE 代理还挂着,去 Internet 选项里手动关。
4.4 现象:抓包时部分 App 请求看不到
原因:App 用了证书固定(SSL Pinning),不信任用户证书。或者 App 走了非 HTTP 协议,比如 gRPC、WebSocket。
解决:证书固定需要 root 后用 Xposed 模块绕过,或者用 Frida 动态 hook。非 HTTP 协议 Fiddler 抓不到,换 Wireshark 或者 Charles 看。Fiddler 对 WebSocket 支持有限,Classic 需要装插件。
4.5 现象:FiddlerScript 改了没生效
原因:脚本没保存,或者规则被其他插件覆盖。
解决:CustomRules.js 改完按 Ctrl+S 保存,Fiddler 会自动重载。如果没反应,去 Rules → Customize Rules 确认文件路径对不对。多个脚本冲突时,把不用的规则注释掉,用//开头。
5. 装完怎么验证:一份可复现的检查清单
装完 Fiddler 别急着抓业务包,先跑一遍验证流程,确认环境是通的。我一般按下面顺序走:
第一步,确认系统代理生效。打开 Fiddler,看状态栏有没有显示“Capturing”。然后浏览器访问一个 HTTP 网站,比如http://neverssl.com,Fiddler 会话列表里应该出现这条请求。如果没有,检查系统代理是不是指向了 127.0.0.1:8888。
第二步,验证 HTTPS 解密。访问https://www.example.com,在 Fiddler 里点开这条会话,看 Inspectors → TextView 里有没有明文 HTML。如果只有 CONNECT 隧道,回到 3.2 重新装证书。
第三步,验证移动端。手机连代理后访问http://电脑IP:8888,能下载证书说明网络通。装完证书后访问一个 HTTPS 网站,Fiddler 里能看到明文,说明移动端配置完成。
第四步,验证脚本能力。打开 CustomRules.js,在OnBeforeRequest里加一行oSession.oRequest["X-Test"] = "fiddler";,保存后访问任意网站,在请求头里看到 X-Test 说明脚本生效。
// CustomRules.js 里加一个简单的请求头注入 // 位置:OnBeforeRequest 函数内 oSession.oRequest["X-Debug-Tag"] = "fiddler-test"; // 这行代码给每个请求加一个自定义头 // 用来验证脚本是否被正确加载和执行这段脚本的作用是给所有经过 Fiddler 的请求加一个X-Debug-Tag头。oSession是当前会话对象,oRequest是请求对象,方括号里是头名称。保存后如果请求头里出现这个字段,说明 FiddlerScript 环境正常。这个技巧在调试接口时特别顺手,可以标记哪些请求是测试流量。
第五步,检查证书有效期。Fiddler 生成的根证书默认有效期几年,但有些系统策略会提前拒绝。用certutil -store Root找到 Fiddler 证书,看“NotAfter”日期。如果快过期,Actions → Reset All Certificates 重新生成一套。
验证清单跑完,这套环境就算落地了。从那以后我每次换机器或者帮人配 Fiddler,都强制走一遍这五步,尤其是证书那步,宁可多花两分钟确认,也不想后面抓包时对着 CONNECT 发呆。希望帮到你。
本文还有配套的精品资源,点击获取