导读:
Fiddler(中文名称:小提琴)是位于客户端和服务器端的HTTP代理,也是目前最常用的http抓包工具之一 。 它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是web调试的利器。
Fiddler官方网站提供了大量的帮助文档和视频教程,这是学习Fiddler的最好资料
Fiddler_官方网站:https://www.telerik.com/fiddler
Fiddler官方文档:<https://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/ConfigureFiddler?ga=2.179498276.1265936032.1590122951-786729012.1590122951>
Fiddler_官方视频:https://www.telerik.com/videos/fiddler
-
Fiddler_官方插件:https://www.telerik.com/fiddler/add-ons
一:Fiddler主要特点
二:简要概述下主要功能
监控HTTP或者HTTPS的流量,截获浏览器或者客户端向服务器发送的HTTP或者HTTPS请求
查看截获后请求的内容
伪造服务器返回的请求,伪造一个请求发送给服务器,方便前后端调试
测试网站性能
解密HTTPS的WEB会话,通过FIDDLER可以解密操作
三:Fiddler运行环境
注:Fiddler不能跨平台,仅支持Windows
四:Fiddler工作原理
在客户端和服务器端之间创建了一个代理服务器,客户端发起的所有的请求都要通过FIDDLER创建的这个代理服务器才能到达最终它所请求的服务器
五:Fiddler下载和安装
安装比较简单,这里不做过多介绍
六:使用场景
我们在什么情况下才会去使用Fiddler呢
-
开发,测试,生产环境hosts修改
通常修改hosts需要修改系统文件,在多个环境下切换不是很方便,Fiddler提供了相对高效的hosts修改方法
[图片上传中...(image-b2bf21-1590989116192-9)]
-
前后端接口调试(获取接口URL,请求报文及响应结果)
Fiddler可以直接在界面进行相关配置
-
辅助定位生产bug
Fiddler可以将发布文件代理到本地,方便快捷定位线上bug
第一步:在右侧窗口的顶部菜单找到AutoResponder,前面有个闪电的图标。 第二步:点击Add Rule按钮,选中的文件就会出现在下面紫色框中。 第三步:点击Local file to return or *Action to execute的下拉框。 第四步:选择下拉框的最后一项Find a file... 第五步:点击Save保存规则。
-
性能分析和优化
前端性能在一定程度可以提升用户体验,而前端的性能数据可以通过Fiddler的Statistics和Timeline来获取,从而为性能分析及优化提供依据
七:Fiddler的两代理模式
Fiddler代理模式有两种,分别是:流模式(Streaming)和缓冲模式(Buffering),默认是缓冲模式 流模式可以理解为一种实时通信的模式,Fiddler会实时的把服务器返回给客户端应用程序的数据返回给我们。 缓冲模式是等所有请求都到了再一起返回,也就是等所有数据都准备好了以后才返回给客户端。 流模式更接近于浏览器本身真实的行为,而缓冲模式可以控制最后的服务器响应。在实际使用中我们可以根据具体的实际情况来选择代理模式。在界面上的切换操作很简单,就是Stream按钮的按下与弹起的区别。
七:Fiddler各功能点详解
-
工具栏
File:用于导出Session、打开新的Fiddle窗口、保存会话等功能。 Edit:用于复制session、host、url、header等、remove session 、标记、以及find Seesion Rules:用于创建规则规则过滤会话。例如可以隐藏掉图片类型的请求,或者304的请求之类 Tools: 主要是工具,可在options中设置Fiddler的端口号、Https的请求、connnection等。也可以清除cache View :主要用于Fiddler窗口显示上的问题,例如可以设置ToolBar是否显示等
-
ToolBar(工具面板)
-
会话面板
不同的响应类型:
-
状态面板
命令 解释 help 打开官方的使用页面介绍,所有的命令都会列出来 cls 清屏 (Ctrl+x 也可以清屏) select 选择会话的命令 ?.png 用来选择png后缀的图片 bpu 截获request bpafter 截获response