news 2026/10/17 3:04:23

Fiddler抓包环境搭建与HTTPS解密配置完整指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Fiddler抓包环境搭建与HTTPS解密配置完整指南

简介: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 proxy

netsh 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 发呆。希望帮到你。

本文还有配套的精品资源,点击获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/17 3:03:57

世界国家GeoJSON大全:Python校验与ECharts地图可视化实战

简介&#xff1a;面向地理信息系统开发者和地图可视化场景的世界国家地理边界数据包&#xff0c;整合了来自自然地球的全球国家与地区边界多边形&#xff0c;适用于网页地图、桌面地理信息系统、数据分析和可视化大屏等应用。资源以JSON格式文本为主体&#xff0c;共含三千四百…

作者头像 李华
网站建设 2026/10/17 3:03:35

基于YOLOv8与Django的道路交通事故实时检测系统实践

最近后台一直有人问道路交通事故检测相关的项目&#xff0c;正好我手头这套基于YOLOv8的检测系统刚整理完技术文档&#xff0c;趁热把整个开发思路、落地细节和踩坑记录捋一遍。这套系统我实现下来&#xff0c;核心能力就三条&#xff1a;图像检测、视频文件检测、摄像头实时画…

作者头像 李华
网站建设 2026/10/17 3:03:17

基于哈里斯鹰算法的图像模糊集增强与Matlab参数优化实践

1. 图像增强为什么要优化&#xff1f;——先搞清楚模糊集在干嘛1.1 模糊集增强的基本思路做图像增强的时候&#xff0c;很多人第一反应就是直方图均衡化、拉普拉斯锐化、同态滤波这些经典方法。但遇到低对比度、细节模糊、光照不均匀的图&#xff0c;这些方法很容易翻车&#x…

作者头像 李华
网站建设 2026/10/17 3:03:00

SeaTunnel集成Hudi连接器:数据湖同步配置与性能调优实战

1. 为什么SeaTunnel搭配Hudi会成为数据湖同步的破局点我自己第一次在SeaTunnel里折腾Hudi数据写入时&#xff0c;是把整个流程拆成了三段&#xff1a;上游从业务库采集&#xff0c;中间用SeaTunnel做分发&#xff0c;最后再调一堆定制脚本落到Hudi表里。那个阶段最大的痛点是脚…

作者头像 李华
网站建设 2026/10/17 3:02:27

CoPaw 1.0本地AI助理部署实战:安全离线运行与架构解析

做个人 AI 助理这件事&#xff0c;我前后折腾了快两年&#xff0c;试过各种云端服务、开源框架、本地方案&#xff0c;结论一直很拧巴&#xff1a;好用的都在云端&#xff0c;但数据一上云&#xff0c;心里总不踏实。直到 CoPaw 1.0 正式发布&#xff0c;我第一时间装到了自己那…

作者头像 李华
网站建设 2026/10/17 3:01:50

基于OpenCV与深度学习的公式识别系统设计与实现

毕设做公式识别&#xff0c;把 OpenCV 和深度学习串起来用&#xff0c;听起来像是个难啃的大题&#xff0c;实际拆开之后就是三条线&#xff1a;图像预处理、模型识别、后处理输出。每条线单独看都不算特别复杂&#xff0c;但合在一起非常锻炼工程能力&#xff0c;也很出活。这…

作者头像 李华