关于工具Fiddler实用

1:介绍   

   Fiddle是一款免费的强大的数据抓包软件,用C#写的.它通过代理的方式获取程序http通讯的数据.我们可以利用它来检测网页和服务器的交互情况(查看向web服务器发送cookie的内容,下载内容的大小),可设置断点,监视,允许修改输入数据和输出数据,让你更了解交互过程的细节。同时可并提高前端工作效率。

先简单说下Fiddle的工作原理它是以代理Web服务器的形式工作的,代理地址是127.0.0.1 默认端口8888 它的运行机制的实质就是在本机上监听8888端口的Http代理。

  

   注意点当Fiddler退出的时候它会自动注销,这样就不会影响别的程序。如果Fiddler非正常退出,那就是Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler. 默认情况Fiddler不能嗅到localhost的网站,只要在localhost后面加上点号就可以了。eg:原本地址是http://localhost:8888/index.php 加个点号就变成http://localhost.:8888/index.php这样就哦了。

2:常用功能

     Fiddle一般常用功能就是捕获会话,只要是能支持HTTP代理的任意程序的数据包都能被Fiddler捕获到,Fiddler2启动的时候默认IE的代理设为了127.0.0.1:8888,而其他浏览器是需要手动设置的,将Firefox的代理改为127.0.0.1:8888即可监听数据了。

Firefox设置如下:工具→选项→网络设置→手动配置HTTP代理

如果觉得每次这样操作麻烦,而且用完每次还要去掉代理,推荐你使用firefox中的fiddler hook 插件, 这样你非常方便的使用Fiddler获取firefox中的request和response。

记得启用插件:firefox tools->Add ons -> Extensions 启动 FiddlerHook。另外使用的时候将工具→Monitor with Fiddler→check  Use Fiddle automatically 你就可以在浏览器右下角看见Fiddle:ON(auto)的标识了。

另外,Fiddle不会自动捕获HTTPS会话,需要手动到Fiddle的Fiddler Tool->Fiddler Options->HTTPS tab 将3个checkbox选中 所有弹出的对话框点解yes即可。

3:基本界面

   接下来认识下Fiddle基本界面(本来可图形化可更清晰,无奈图片只允许上传500M):最上面左起像微信符号的那行是工具栏,这个微信符号是备注功能。点击即可插入批注。左侧纵向这列是会话列表。再向下黑色输入框是命令行工具栏,可进行搜索 eg:?.png 可查找出后缀为png格式的文件。键入:select js或select javascript可查询出所有的js文件。键入:cls 是清空所有会话列表,help 查看Fiddle帮助文档....还有很多哦~

  双击左侧会话链接,右侧上方会出现相应的request监听列表,一般用的较多是Inspector tab 按快捷键F8即可.如果想修改request的信息可选择Inspector的Textview进行编辑。按f9出现composer可键入监听想监听的URl。右下方是对应会话response的消息。如果想更直观的查看可看WebForms Tab项,如果想查看Http的统计视图,点击show chart即可,这样你就可以看到一个Web页面的“总重量”页面文件及相关的js,css....可看到总共请求的次及多少字节被转化了。这样看来fiddle可用来做性能测试。补充下:查看Response的Headers,如果要是一个响应没包含Cache-Control,这个页面就不会被缓存在客户端。


 

4:调试

接下来教你如何设置断点和修改Request信息进行调试:

Rules→automatic→Breakpoints 选择before request、after request、Fiddler 能中断这次会话,选择被中断的会话,点击Inspectors tab下的WebForms tab 修改request信息,然后点击Run to Completion查看是否成功提交。或者在命令行键入: bpafter www.baidu.com、 bu www.baidu.com 取消直接键入对应的bpu/bpafter即可。

 

5:开启重定向

    开启Enable automatic reaponses 和Unmatched requests passthrough 这两个可以上传js的HTTP请求重定向到本地文件。

    测试是否上传成功:刷新浏览器,看下session列表,如果这个session的底色是灰色的就代表成功将这个请求重定向到本地文件。或者在本地的js中加入一句alter("test");若刷新session列表弹出alter框表示重定向本地文件成功。

 

6:TextWizard—Fiddle中自带的编码小工具,这个工具可以Encode和Decode string

7:将回话保存 进行分析,选中会话右键sava→response→response body....

8:FiddlescriptFiddler最复杂的莫过于script系统了

   官方的帮助文档: http://www.fiddler2.com/Fiddler/dev/ScriptSamples.asp

举个栗子,将红框中的修改成自己的php文件或asp文件,并将注释去掉即可。或者根据自己需求编写相应的Js,可以无限尝试哦~



9:乱码问题

    当你看到response中的html乱码别慌张,这是因为html被压缩了。有两种方式可解压。

(1)点击Response Raw上方的"Response is encoded any may need to be decoded before inspection. click here to transform"

(2)选中工具栏中的"Decode" 会自动解压缩。

10:Fiddle 的限速功能

   Rules→Performance→Simulate modem Speeds 勾选了就限网速了

 

11:图文解释 方便快速了解

   

同类工具httpwatch, firebug, wireshark

以上些许了解,如需详情请查询 Fiddler的官方网站:  www.fiddler2.com

 


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章