Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler 的数据(指cookie,html,js,css等文件,这些都可以让你胡乱修改的意思)。Fiddler要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯,还提供了一个友好的用户格式。
软件特色
1、Fiddler支持断点调试技术,当你在软件的菜单—rules—automatic breakpoints选项选择before request,或者当这些请求或响应属性能够跟目标的标准相匹配,Fiddler测试版就能够暂停Http通讯,并且允许修改请求和响应。这种功能对于安全测试是非常有用的,当然也可以用来做一般的功能测试,因为所有的代码路径都可以用来演习。
2、通过显示所有的Http通讯,Fiddler测试版可以轻松地演示哪些用来生成一个页面,通过统计页面(就是Fiddler左边的那个大框)用户可以很轻松地使用多选,来得到一个WEB页面的“总重量”(页面文件以及相关js,css等)你也可以很轻松地看到你请求的某个页面,总共被请求了多少次,以及多少字节被转化了。
3、用户可以加入一个Inspector插件对象,来使用.net下的任何语言来编写Fiddler扩展。RequestInspectors 和 ResponseInspectors提供一个格式规范的,或者是被指定的(用户自定义)Http请求和响应视图。
4、另外,通过暴露HTTP头,用户可以看见哪些页面被允许在客户端或者是代理端进行缓存。如果要是一个响应没有包含Cache-Control 头,那么他就不会被缓存在客户端。
功能介绍
可定制的免费工具
受益于丰富的可扩展性模型,从简单的FiddlerScript到可以使用任何.NET语言开发的强大扩展
Web会话操作
轻松编辑Web会话:只需设置断点即可暂停会话处理并允许更改请求/响应。编写自己的HTTP请求并通过Fiddler运行它们。
性能测试
Fiddler让您一目了然地看到“总页面权重”,HTTP缓存和压缩。使用诸如“标记任何大于25kb的未压缩响应”之类的规则来隔离性能瓶颈。
安全测试
解密HTTPS流量并使用中间人解密技术显示和修改Web应用程序请求。配置Fiddler以解密所有流量,或仅解密特定会话。
HTTP / HTTPS流量记录
使用Fiddler记录计算机和Internet之间的所有HTTP(S)流量。从几乎任何支持代理的应用程序(IE,Chrome,Safari,Firefox,Opera等)调试流量。
Web调试
调试来自PC,Mac或Linux系统和移动(iOS和Android)设备的流量。确保在客户端和服务器之间传输正确的cookie,标头和缓存指令。支持任何框架,包括.NET,Java,Ruby等。
FAQ
怎么抓包?
1. 开发fiddler之后默认情况下就是抓包状态,可以查看界面左下角显示capturing,如果没有显示,单击此处可以开始抓包。
2. 如果访问的网站是https网站,则需要通过Tools - Fiddler Options - Https - Decrypt Http Traffic来设置将https解密
3. 通过浏览器发送请求。(在windows平台上此处并不限于浏览器,只要程序是通过winhttp或者wininet发送请求都可以被监测到)
4. 在收到回复后回到fiddler查看抓包内容。
如何进行关键字查找?
1. 通过Ctr+F调出查找对话框,在全局查找关键字
2. 在选中特定请求之后可以在Inspecters - Raw中分别在特定的请求或回复中查找内容
3. 如果回复被压缩过,通过单击提示按钮可以将内容解压缩
安装步骤
1、我们下载该软件,获得一个压缩包,对其进行解压,得到exe文件,双击进入软件安装界面
2、接着就可以看到默认安装位置在C盘,我们点击“浏览”来更改位置
3、软件正在安装中请耐心等待软件安装完毕
4、软件安装成功
使用技巧
自动回复
请求自动回复应用也比较广,例如将其他机器抓包倒入自动回复,然后再本机回放重现问题;或者动态调试过程中不希望有些请求去调用服务器,而在自动回复中配制或者进行相应的更改直接查看效果。
1. 切换到自动回复(AutoResponder)标签页
2. 选中Enable automatic responses
3. 点击Import按钮导入抓包的saz文件
4. 可以通过默认Url或者通过Rule Editor来修改请求匹配规则
断点设置
1. 通过Rules - Automatic Breakpoints - Before Requests/After Response设置断点。
自定义扩展脚本
Fiddler支持通过Jscript方式扩展功能,比如自动通过脚本对请求及回复进行处理。具体的实例可以参考fiddler提供的实例代码。
http://www.fiddler2.com/Fiddler/dev/ScriptSamples.asp
以下是两个简单例子
以下提到的方法可以在CustomRule.js中找到并进行相应的更改,
可以通过Rules - CustomRule来打开CustomRule.js.