Fiddler官方网站提供了大量的帮助文档和视频教程,这是学习Fiddler的最好资料。
你对HTTP协议越了解,你就能越掌握Fiddler的使用方法.你越使用Fiddler,就越能帮助你了解HTTP协议.
Fiddler无论对开发人员或者测试人员来说,都是非常有用的工具
Fiddler是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888.当Fiddler会自动设置代理,退出的时候它会自动注销代理,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler.
能支持HTTP代理的任意程序的数据包都能被Fiddler嗅探到,Fiddler的运行机制其实就是本机上监听8888端口的HTTP代理。Fiddler2启动的时候默认IE的代理设为了127.0.0.1:8888,而其他浏览器是需要手动设置的,所以将Firefox的代理改为127.0.0.1:8888就可以监听数据了。
Firefox上通过如下步骤设置代理
点击:Tools->Options,在Options对话框上点击Advancedtab->networktab->setting.
修改Firefox中的代理比较麻烦,不用fiddler的时候还要去掉代理。麻烦
推荐你在firefox中使用fiddlerhook插件,这样你非常方便的使用Fiddler获取firefox中的request和response
当你安装fiddler后,就已经装好了Fiddlerhook插件,你需要到firefox中去启用这个插件打开firefoxtools->Addons->Extensions启动FiddlerHook
默认下,Fiddler不会捕获HTTPS会话,需要你设置下,打开FiddlerTool->FiddlerOptions->HTTPStab
选中checkbox,弹出如下的对话框,点击"YES"
点击"Yes"后,就设置好了
看看Fiddler的基本界面
Inspectorstab下有很多查看Request或者Response的消息。其中RawTab可以查看完整的消息,Headerstab只查看消息中的header.如下图
通过陈列出所有的HTTP通信量,Fiddler可以很容易的向您展示哪些文件生成了您当前请求的页面。使用Statistics页签,用户可以通过选择多个会话来得来这几个会话的总的信息统计,比如多个请求和传输的字节数。
Fiddler的左下角有一个命令行工具叫做QuickExec,允许你直接输入命令。
常见得命令有
help打开官方的使用页面介绍,所有的命令都会列出来
cls清屏(Ctrl+x也可以清屏)
select选择会话的命令
.png用来选择png后缀的图片
bpu截获request
第一种:打开Fiddler点击Rules->AutomaticBreakpoint->BeforeRequests(这种方法会中断所有的会话)
如何消除命令呢?点击Rules->AutomaticBreakpoint->Disabled
第二种:在命令行中输入命令:bpuwww.baidu.com(这种方法只会中断www.baidu.com)
如何消除命令呢?在命令行中输入命令bpu
当然Fiddler中也能修改Response
第一种:打开Fiddler点击Rules->AutomaticBreakpoint->AfterResponse(这种方法会中断所有的会话)
第二种:在命令行中输入命令:bpafterwww.baidu.com(这种方法只会中断www.baidu.com)
如何消除命令呢?在命令行中输入命令bpafter,
具体用法和上节差不多,就不多说了。
看个实例.1.打开博客园首页,把博客园的logo图片保存到本地,并且对图片做些修改。
3.选择Enableautomaticreaponses和Unmatchedrequestspassthrough
4.在下面的RuleEditor下面选择Findafile...选择本地保存的图片.最后点击Save保存下。
5.再用IE博客园首页,你会看到首页的图片用的是本地的。
每次使用Fiddler,打开一个网站,都能在Fiddler中看到几十个会话,看得眼花缭乱。最好的办法是过滤掉一些会话,比如过滤掉图片的会话.Fiddler中有过滤的功能,在右边的Filterstab中,里面有很多选项,稍微研究下,就知道怎么用。
选中2个会话,右键然后点击Compare,就可以用WinDiff来比较两个会话的不同了(当然需要你安装WinDiff)
点击Fiddler工具栏上的TextWizard,这个工具可以Encode和Decodestring.
用快捷键Ctrl+F打开FindSessions的对话框,输入关键字查询你要的会话。查询到的会话会用黄色显示
有些时候我们需要把会话保存下来,以便发给别人或者以后去分析。保存会话的步骤如下:
选择你想保存的会话,然后点击File->Save->SelectedSessions
首先先安装SyntaxView插件,Inspectorstab->GetSyntaxViewtab->DownloadandInstallSyntaxViewNow...如下图
安装成功后Fiddler就会多了一个FiddlerScripttab,如下图
在里面我们就可以编写脚本了,看个实例让所有cnblogs的会话都显示红色。
把这段脚本放在OnBeforeRequest(oSession:Session)方法下,并且点击"Savescript"
if(oSession.HostnameIs("www.cnblogs.com")){oSession["ui-color"]="red";}这样所有的cnblogs的会话都会显示红色
我们在用visualstuido开发ASP.NET网站的时候也需要用Fiddler来分析HTTP,默认的时候Fiddler是不能嗅探到localhost的网站。不过只要在localhost后面加个点号,Fiddler就能嗅探到。
第二个办法就是在hosts文件中加入127.0.0.1localsite
有时候我们看到Response中的HTML是乱码的,这是因为HTML被压缩了,我们可以通过两种方法去解压缩。
1.点击ResponseRaw上方的"Responseisencodedanymayneedtobedecodedbeforeinspection.clickheretotransform"