Fiddle简介
Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据,Fiddler包含了一个强大的基于事件脚本的子系统,并且能使用.net语言进行扩展。
你对HTTP协议越了解,你就能越掌握Fiddler的使用方法.你越使用Fiddler,就越能帮助你了解HTTP协议。
Fiddler无论对开发人员或者测试人员来说,都是非常有用的工具。
Fiddler的官方网站:www.fiddler2.com
Fiddle安装
请先选择版本下载,双击即可安装。
工作原理
Fiddler是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1, 端口:8888. 当运行Fiddler时会自动设置代理,退出的时候它会自动注销代理,不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler。
常见使用环境
工具条常用功能
工具栏从左到右按钮功能分别为: 1.增加备注——选中某个会话,点击按钮,可对会话添加备注 2.回放按钮——选中某个会话,点击按钮,回放对该会话的请求。快捷键为R 3.清空监控面板 4.调试Debug 5.模式切换——在流模式和缓冲模式之间切换,默认缓冲模式 6.解压请求——将HTTPS的请求解压,以便查看 7.保持会话——考虑电脑性能,自行选择 8.过滤请求——按下按钮不放,选择要捕获的软件进程,松开按钮,即可捕捉到该软件发出的所有请求 9.查找——点击,输入想查找的会话 10.保存会话 11.保存截图 12.计时器 13.快速启动浏览器 14.清除缓存 15.编码/解码
状态栏操作
1.上面黑色区域为控制台,用于输入命令。 2.下面从左到右分别为: (1)控制Fiddler是否工作——图标出现:表示Fiddler工作;图标消失:表示Fiddler不工作 (2)过滤会话来源 (3)记录当前展示的会话数量 (4)会话的详细地址
监控面板使用
左侧框中常见项:
"#"列:表示记录来自服务器端的请求会话 "Result"列:表示会话状态 "Protocol"列:表示协议 "Host"列:表示主机地址/域名
右侧框中常见项:
"Statistics"项:表示请求的性能指标 "Show Chart"项:表示可视化 "Inspectors"项:表示对请求解包 "AutoResponder"项:表示文件代理 "Composer"项:表示前后端接口连调 "Log"项:表示记录log日志 "Timeline"项:表示网站性能分析
文件、文件夹代理和HOST配置
HOST配置
这个功能主要作用就是不需要每次配置hosts都到windows目录下去修改hosts文件;可以直接方便在fiddler界面里面配置即可;方便快速的配置自己的测试host。
步骤如下:Tools》HOSTS》激活Enable功能》选择服务器IP,修改要配置的Host的IP》save》刷新可启用
文件、文件夹代理
选中文件,拖入AutoResponders界面》精准匹配》选择本地文件》保存即可生效
请求模拟,前后端接口调试
网速限制
方法一:
Fiddle提供了一个功能,让我们模拟低速网路环境…启用方法如下:Rules → Performances → Simulate Modem Speeds (如下图)
方法二:
Fiddler也可以自己定义Modem Speeds.点开Rules → Customize Rules (如下图)
此时,如果没有安装FiddleScript插件,会弹出提示安装,点击确认即可安装;如果有安装插件,会弹出CustomRules.js的代码,找m_SimulateModem这个字,你会找到下面这段:
这就是他模拟网路速度的原理,每上传/下载1KB 要delay 多久。如果你习惯用kbps 去算的话,那么我们的算法就是 1000/下载速度 = 需要delay的时间(毫秒),比如50kb/s 需要delay200毫秒来接收数据。
请注意,当你存档之后,原本已经勾选的Simulate Modem Speeds 会被取消勾选,要记得再到Rules → Performances → Simulate Modem Speeds 勾选,这样限制网速就成功了。
常用插件
插件官方下载地址:www.telerik.com/fiddler/add-ons。Fiddle也支持第三方插件。
以下推荐几款插件:
1.代码格式化插件:JavaScript Formatter。安装完重启,右击会话,选择“Make JavaScript Pretty”,即可。如下图。
2.对比会话插件:Traffic Differ。安装完重启,可在“监控面板”右侧找到“Differ”选项,点击,拖动多个会话即可对比信息。如下图。
常见命令
help //打开官方的使用页面介绍
select //选择会话命令
?.png //用来选择png后缀的图片
cls //清屏 (Ctrl+x 也可以清屏)
bpu //截获request