Fiddler是一款功能强大的网络调试代理工具,专为IT专业人士设计,用于捕获、分析、修改和重发HTTP/HTTPS流量。该篇文章主要分享Fiddler的安装与使用:
目录
一、Fiddler的安装
步骤1:下载Fiddler
访问Fiddler官方网站或通过可信的第三方软件下载平台,下载最新版本的Fiddler安装程序。官方下载地址通常为:
https://www.telerik.com/download/fiddler
确保下载的是适用于你操作系统的版本。Fiddler支持Windows、macOS和Linux等多种平台。
步骤2:安装Fiddler
Windows:
双击下载的FiddlerSetup.exe文件开始安装过程。
如果系统提示需要管理员权限,右键点击安装文件并选择“以管理员身份运行”。
按照安装向导的指示,接受许可协议,选择安装位置(推荐使用默认设置),并确认安装选项。
点击“Install”或“Next”开始安装,等待安装过程完成。安装完成后,点击“Finish”(或类似按钮)退出安装向导。此时,Fiddler通常已准备好立即使用。
macOS 或 Linux:
根据对应平台的安装指南进行操作,可能涉及解压安装包、拖动应用至应用程序文件夹等步骤。
步骤3:验证安装
安装完成后,在开始菜单或桌面(Windows)或应用程序列表(macOS/Linux)中找到Fiddler图标,双击打开。
若Fiddler主界面正常显示,表示安装成功。
二、Fiddler的使用
步骤1:启动Fiddler
打开Fiddler应用程序。
默认情况下,Fiddler会自动开始监听网络流量。你可以在主界面的状态栏查看是否显示“Capturing”字样,表示正在捕获网络请求,下图所示就是在捕获网络请求中。当我们取消勾选File-Capture Traffic或点击快捷键F12时,都会取消捕获网络请求状态。
步骤2:基础配置
设置监听端口(可选):
菜单栏选择“Tools” > “Options”(或按快捷键Ctrl+R)。
在“Connections”选项卡中,可以查看或更改Fiddler监听的端口号(默认为8888)。如果你需要与其他工具配合使用或有特殊需求,可在此处调整端口。
注意:
Fiddler作为一个网络代理工具,它会在本地计算机上开启一个代理服务,监听特定的端口(默认为8888)。当Fiddler运行时,它不会改变浏览器本身的端口设置,而是影响浏览器的网络代理设置。具体而言,Fiddler启动后:
1、开启本地代理:Fiddler在本地计算机上启动一个HTTP(S)代理服务器,监听在默认端口8888(或其他用户自定义的端口)。
2、设置浏览器代理:为了使浏览器的网络流量经过Fiddler,需要将浏览器的网络代理配置指向Fiddler监听的地址和端口(通常是 127.0.0.1:8888)。对于大多数现代浏览器(如Chrome、Firefox、Edge等),Fiddler通常能自动配置系统代理设置,使得这些浏览器在启动后默认通过Fiddler代理访问互联网。对于Internet Explorer,由于与Windows系统更紧密的集成,Fiddler通常可以直接接管其代理设置而无需额外配置。
3、捕获与分析流量:当浏览器按照上述设置通过Fiddler代理进行网络通信时,所有HTTP(S)请求和响应都会先经过Fiddler监听的端口(如8888),然后由Fiddler进行捕获、分析、记录,并可能进行修改(如设置断点、篡改数据等操作),最后再将处理过的数据转发给目标服务器或返回给浏览器。
允许抓取HTTPS请求:
在“Options”对话框中,切换到“HTTPS”选项卡。
勾选“Capture HTTPS CONNECTs”以捕获HTTPS连接。
为了能够解密HTTPS流量以便查看其内容,还需要勾选“Decrypt HTTPS traffic”并按照提示安装Fiddler的根证书到你的系统证书存储区。这一步骤通常会自动弹出提示,按照提示操作即可。如果未出现提示,你可以手动点击“Actions”区域的“Trust Root Certificate”或类似按钮来完成证书安装。
如下图所示:
步骤3:开始抓包
确保代理设置正确:
对于大多数桌面应用程序和现代浏览器,开启Fiddler后它们会自动配置为通过Fiddler作为HTTP/HTTPS代理。如果你遇到某些应用无法捕获,可能需要手动将它们的网络代理设置指向Fiddler的监听地址(通常是localhost)和端口号。
以下是针对不同类型应用的手动设置网络代理指向Fiddler的示例:
示例1:桌面应用程序(如邮件客户端、RSS阅读器等)
不同桌面应用程序的代理设置方法可能各异,通常在应用程序的设置或选项菜单中能找到相关配置项。以下是一个通用的步骤说明:
- 打开需要设置代理的应用程序。
- 寻找并进入应用程序的“设置”、“网络设置”、“高级设置”、“代理”等相关菜单或选项。
- 在代理设置区域,通常会有“HTTP代理”、“HTTPS代理”或“全局代理”等选项。
- 设置代理服务器地址:填写
localhost
或127.0.0.1
。- 设置代理服务器端口:填写Fiddler监听的端口,通常为
8888
。- 保存设置并重启应用程序(如果必要)。
示例2:移动设备(如Android或iOS手机)
对于连接到同一局域网的移动设备,需要在设备的网络设置中配置代理。以下以Android和iOS为例:
Android设备
- 打开设备的“设置”应用。
- 进入“Wi-Fi”设置,长按当前连接的Wi-Fi网络名称,选择“修改网络”(或类似选项)。
- 在弹出的网络详情页面中,找到“代理”或“高级设置”选项。
- 选择“手动”代理类型。
- 设置代理服务器主机名:填写你的电脑在局域网中的IP地址(可以通过在电脑上运行
ipconfig
命令获得)。- 设置代理服务器端口:填写Fiddler监听的端口,通常为
8888
。- 点击“保存”或“确定”以应用新的代理设置。
iOS设备
- 打开设备的“设置”应用。
- 进入“Wi-Fi”设置,找到并点击当前连接的Wi-Fi网络名称。
- 在网络详情页面中,滚动到底部找到“HTTP代理”或“代理”选项。
- 选择“手动”代理模式。
- 设置服务器:填写你的电脑在局域网中的IP地址(同样可通过
ipconfig
命令获取)。- 设置端口:填写Fiddler监听的端口,通常为
8888
。- 点击屏幕顶部的“返回”或“Wi-Fi”按钮,保存并应用新的代理设置。
捕获目标应用的网络流量:
在Fiddler主界面中,确定开启Capture Traffic,Fiddler开始运行抓包,当我们启动需要分析的Web应用、移动应用(通过配置设备代理为Fiddler所在电脑IP和端口)或桌面应用时,Fiddler会开始捕获相关的HTTP(S)请求和响应。
步骤4:分析抓包结果
Fiddler主界面主要分为以下几个部分:
Web Sessions(会话)列表:
左侧的列表显示了捕获到的所有网络会话。每个会话代表一个HTTP(S)请求及其响应。您可以根据时间、状态码、域名等列对会话进行排序和筛选。
Inspectors(检查器)面板:
当选择一个会话时,右侧会显示详细的请求和响应信息。包括请求头、请求体、响应头、响应体等。通过切换上方的“Inspectors”选项卡(如“Raw”,“Headers”,“WebForms”,“JSON”,“TextView”等),可以查看不同格式的请求和响应内容。
Statistics(统计信息)标签:
菜单栏选择“Statistics”可以查看抓包过程中的一些统计指标,如请求总数、失败请求数、数据传输量等。
Filters 过滤器:
使用顶部的文本框可以输入过滤规则,快速定位特定类型的会话。例如,输入bpafter:www.example.com可以只显示与该域名相关的请求。
其他辅助视图或标签:
Composer:用于手动构造和发送HTTP请求,用于测试API、模拟客户端行为等。
AutoResponder:设置规则,根据请求条件自动返回预设的响应,用于模拟服务器行为或测试异常情况。
Timeline:展示单个请求的详细时间线,包括DNS解析、TCP连接、TLS握手、发送/接收数据等各个阶段的时间消耗,有助于深入分析网络延迟问题。
WebSocket Inspector:专门用于查看和调试WebSocket会话的交互。
步骤5:使用高级功能
设置断点:
右键一个会话或在命令行(底部)输入命令,可以设置断点暂停请求或响应,允许你修改请求内容、添加或删除请求头、伪造响应等,用于调试或模拟网络条件。
bpu url地址:针对指定的url地址设置请求前断点;如下图:
命令行操作:
bpu url : 在请求(url)之前断点
bpu: 取消所有的请求断点
bpafter url :在响应(url)到达时中断
bpafter:取消所有的响应断点
断点之后,可以点击go按键或者,点击右侧Run按键进行发送
设置全局断点如下:
Before Requests : 在请求前断点(快捷键F11);
After Responses : 在服务器响应之后断点(快捷键alt+f11);
Disabled : 禁止断点(快捷键shift+f11)
Ignore Image :是指一种功能或设置,用于指示Fiddler在捕获和显示网络流量时忽略(不显示或不处理)所有与图片相关的HTTP请求。
自定义规则:
在“Rules”菜单中选择“Custom Rules”打开CustomRules.js文件。这是一个JavaScript脚本,允许你编写自定义逻辑来自动化处理会话、添加更复杂的过滤规则、触发特定动作等。
导出抓包数据:
可以通过“File”菜单或右键会话列表,将抓包结果保存为.saz文件(Fiddler的专有格式),便于分享或后续分析。也可以导出为 HAR(HTTP Archive)格式,与其他工具兼容。
使用插件:
访问Fiddler的插件市场或第三方资源,安装并配置所需插件以增强功能。插件链接
希望以上内容能有效帮到大家高效使用Fiddler!