Fiddler 简介
1、监控HTTP/HTTPs流量,浏览器和客户端向服务器发送的HTTP或者HTTPS都会被截取。
2、查看截获的请求的内容。
3、伪造请求(不仅可以伪造服务器返回的请求,还可以伪造一个请求发送给服务器)。
4、测试网站性能。
5、解密HTTPs的Web会话。
6、第三方插件,早期版本使用 .net开发,对windows平台支持较好。
工作原理
fiddler两种代理模式:流模式(streaming) & 缓冲模式(buffering)。
(1)流模式:fiddler会实时把服务器返回给客户端的数据返回给我们。流模式更接近于浏览器真实的行为。
(2)缓冲模式:fiddler会等待http请求所有的数据都准备好之后才会返回给应用程序。
使用场景
工具条功能
Ps:添加备注(不常用)。
Ps:回放按钮 Replay,选中某个请求之后直接按R键,可以重新发送该请求。
Ps:清空监控面板。
Ps:调试Debug。点击之后选择请求发送的时候,有断点;再点击,则选择请求回来的时候有断点。(看图标的箭头方向)
Ps:流模式、缓冲模式切换按钮。
Ps:解压请求,帮我们把http请求里面的东西解压出来。
Ps:保持会话的多少,看机器性能。
Ps:过滤请求:帮我们过滤掉一些不想看到的进程里发出的请求。比如:锁定只接收IE浏览器发出来的请求。
Ps:查找工具。
Ps:保存会话:对当前所捕获到的会话做个保存。
Ps:保存截图。
Ps:计时器:点击开始计时,再点击将计时结果返回。
Ps:快速启动浏览器按钮。
Ps:清除缓存按钮。
Ps:编码/解码。(实用)
Ps:分离面板:Tearoff。点击弹出浮框,关闭恢复。
Ps:MSDN搜索(不常用)。
状态栏功能
Ps:黑色控制台。
Ps:控制fiddler是否工作,点击一下(不见了),说明fiddler停止工作,再点击下(恢复工作状态)。
Ps:过滤请求来源,监控哪个地方来的请求。
Ps:记录当前展示的会话数量。
Ps:鼠标指的地方:显示高亮会话的地址。
监控面板
监控面板,fiddler的核心功能之一! 注意,右键、左键、双击、拖动等等,说不定会发现新大陆!比如:监控面板的列是可定制的。 保持好奇心,多玩,多点,多看help,一定能发现更多好玩的东东!
Statistics:一个会话的统计信息,可以为优化提供依据。
(1)RTT:请求往返时间,是衡量请求性能的重要指标。
(2)Show Chart:数据可视化处理。
Inspectors:对请求进行解包,可以查看相应的请求,响应信息。
AutoResponder:文件代理,可以把请求的资源用本地文件代理掉,方便调试线上bug文件(当网站出现bug时,可以使用AutoResponder来快速定位bug在哪个文件) Composer: 前后端端口连调,可以用来伪造请求--需要后端接口.
Log:记录日志。
Timeline:网站性能分析。
Host配置
用Fiddler来配置Host:Tools -> HOST -> 打勾->添加规则->生效->去掉勾,保存,失效。直接关闭FD也行。把所有文件都映射到一台指定的服务器或者一个IP上。
文件替换(热部署)
文件映射:拖拽到AutoResponder,(EXACT)精准匹配(也可以用正则表达式进行模糊匹配),进行save后,可以直接将匹配的文件进行加载。 只映射一个文件,也可以替换响应。
前后端调试
前后端连调:Composer -> 选择请求方式 GET -> copy 地址 参数-> excuete。Get参数跟在URL后面,参数以 & 连接 POST参数一般要放到RequestBody中。
网络限速
需要基于 fiddler 的插件,点击fiddlerScript 在代码里找到onBeforeRequest
FiddlerScript -> static function OnBeforeRequest ->
oSession["request-trickle-delay"]="3000"; // 请求阶段延迟
osession["response-trickle-delay"] = "3000"; // 请求立刻发出,回应延迟三秒
Save Script(保存脚本),发送请求~
Ps:这里是同一个地方,只需要修改这个”request”->” response”即可。
插件
1、JavaScript Formatter 代码格式化插件 Fiddler Add-ons 插件:javaScript formatter -> js文件右击 -> 选择 make javascript pretty -> textview / syntaxview 代码全部高亮显示
2、traffic differ (对比两个不同的对话): 直接拖进两个不同的请求,会显示完整的对比数据 -> 可以用来对比优化两个网站之间的不同(选中更好的方案)。
3、第三方插件:Willow -> 快速管理host列表 完全可视化 http代理插件 可视化限速 因为没有开源,可以到http://pan.baidu.com/s/1mgocpBi进行下载体验。