Fiddler 教程
Fiddler
Fiddler 是一个 http 协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的 http 通讯,设置断点,查看所有的“进出”Fiddler 的数据(指 cookie,html,js,css 等文件)。 Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露 http 通讯还提供了一个用户友好的格式。
Fiddler 介绍
Fiddler 是一个使用 C# 编写的 http 抓包工具。它使用灵活,功能强大,支持众多的 http 调试任务,是 web、移动应用的开发调试利器。
功能特点
-
- 截获客户端 HTTP/HTTPS 的请求
-
- 可查看截获的请求内容
-
- 并可伪造请求内容以及响应结果
-
- 测试网站性能
-
- 解密 HTTPS 的回话
-
- 可拓展插件
同 Httpwatch、Firebug 这些抓包工具一样,Fiddler 够记录客户端和服务器之间的所有 HTTP 请求,可以针对特定的 HTTP 请求,分析请求数据、设置断点等。
但 Fiddler 更为强大的是,它还可以修改请求的数据,甚至可以实现请求自动重定向,从而修改服务器返回的数据。
Fiddler 使用也十分方便。在打开 Fiddler 的时候,它就自动设置好了浏览器的代理,通过改写 HTTP 代理,让数据从它那通过,来监控并且截取到数据。当关闭 Fiddler 的时候,它又自动帮你把代理还原。
Fildder 使用场景
- 开发环境 host 配置
- 前后端接口调试
- 线上 bugfix(可将发布文件代理到本地,快速定位线上 bug)
- 性能分析和优化(提供请求实际图,以便于做优化)
下载安装
直接去 Fiddler 的官网下载即可。地址:http://www.telerik.com/fiddler
使用
Fiddler 支持断点调试技术,当你在软件的菜单—rules—automatic breakpoints 选项选择 before request, 或者当这些请求或响应属性能够跟目标的标准相匹配,Fiddler 就能够暂停 Http 通讯,并且允许修改请求和响应。这种功能对于安全测试是非常有用的,当然也可以用来做一般的功能测试,因为所有的代码路径都可以用来演习。
通过显示所有的 Http 通讯,Fiddler 可以轻松地演示哪些用来生成一个页面,通过统计页面(就是 Fiddler 左边的那个大框)用户可以很轻松地使用多选,来得到一个 WEB 页面的“总重量”(页面文件以及相关 js,css 等)你也可以很轻松地看到你请求的某个页面,总共被请求了多少次,以及多少字节被转化了。
用户可以加入一个 Inspector 插件对象,来使用。net 下的任何语言来编写 Fiddler 扩展。RequestInspectors 和 ResponseInspectors 提供一个格式规范的,或者是被指定的(用户自定义)Http 请求和响应视图。
另外,通过暴露 HTTP 头,用户可以看见哪些页面被允许在客户端或者是代理端进行缓存。如果要是一个响应没有包含 Cache-Control 头,那么他就不会被缓存在客户端。
同类的工具有:httpwatch, firebug, wireshark。
Wireshark 、HTTPWatch、Fiddler 的介绍
- Firebug 虽然可以抓包,但是对于分析 http 请求的详细信息,不够强大。模拟 http 请求的功能也不够,且 firebug 常常是需要“无刷新修改”,如果刷新了页面,所有的修改都不会保存。
- Wireshark 是通用的抓包工具,但是比较庞大,对于只需要抓取 http 请求的应用来说,似乎有些大材小用 (TCP/IP 协议监听)。
- Httpwatch 也是比较常用的 http 抓包工具,但是只支持 IE 和 firefox 浏览器(其他浏览器可能会有相应的插件),对于想要调试 chrome 浏览器的 http 请求,似乎稍显无力,而 Fiddler2 是一个使用本地 127.0.0.1:8888 的 HTTP 代理,任何能够设置 HTTP 代理为 127.0.0.1:8888 的浏览器和应用程序都可以使用 Fiddler。
- Fiddler 只能抓 http 和 https 数据包,所以在针对 http 和 https 数据包的抓取上它更加专业。