我们知道监视Http和Https请求的工具有多种,例如:HttpWatch,FireBug等。但是今天接触到一种新的工具Fiddler。Fiddler能记录所有客户端和服务器的http和https请求,并且允许我们截断请求,甚至修改输出数据,Fiddler包含了一个强大的基于事件脚本的子系统,并且能使用.net语言进行扩展。Fiddler能铺货到任何形式拼接的Http请求,当然也包括某些人手工拼接的请求。Fiddler的运行机制其实就是本机上监听8888端口的HTTP代理。Fiddler2启动的时候默认IE的代理设为了127.0.0.1:8888,而其他浏览器是需要手动设置的。但是经过本人测试,发现Chrome浏览器http请求Fiddler可以自动捕获到,IE的当然没有任何问题,但是FireFox就需要配置下。配置过程如下。
当我们安装Fiddler后,FireFox就帮我们安装了Fiddler hook插件,我们需要到FireFox中去启用这个插件。打开FireFox→tools→Add ons→Extensions→enable,如图
然后按如下图设置
然后在浏览器右下角回显示Fiddler:ON(auto)
如果您的右下角显示Fiddler:OFF(auto)的话,可以关闭Fiddler程序,然后重新开启就OK,我就遇到了这种情况。
使用Fiddler捕获Http/Https会话
默认情况下,Fiddler不会捕获任何的会话,需要我们进行设置,设置方法如下:
打开Fiddler,Tool->Fiddler Options->HTTPS tab
如果出现如下窗口
点击yes,接下来有一个是否安装证书的对话框,继续yes,就设置好了。
然后我们来解开Fiddler的神秘面纱。
如下图:
Inspectors tab 下有很多查看Request或者Response的消息,其中Raw Table可以查看完整的消息,Headers tab只能查看消息中的Header部分。
Http统计图
既然Fiddler可以列举出所有的Http通信量,那么就可以很容易的向您展示哪些文件生成了当前请求的页面。使用Statistics选项卡,用户可以通过选择多个会话(通过Ctrl键)来得到这几个会话的总的信息统计。通过showchart还可以显示统计图:
QuickExec命令行的使用
Fiddler的左下角有一个命令行工具叫做QuickExec,允许我们直接输入命令来操控Fiddler软件。
常见命令如下:
help 打开官方的使用页面介绍,所有的命令都会列出来
cls 清屏 (Ctrl+x 也可以清屏)
select 选择会话的命令
?.png 用来选择png后缀的图片
bpu 截获request
案例:设置断点修改Request
在Fiddler中设置断点后,我们就可以来更改请求了。