fiddler原理

1、原理简介:

Fiddler 是目前最强大最好用的 Web 调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置 CGI 请求的断点,甚至修改输入输出数据。同类的工具还有httpwatch,firebug,wireshark,google审查元素。与这些基于网页浏览器的工具不同,fiddler是一个富客户端桌面工具,不仅能监听浏览器对网页的请求和对浏览器的响应(http和https请求),而且可以监听其他程序(比如java桌面应用)的http请求(当然需要额外的设置,在此不赘述)。另外,值得一提的是,即便在浏览器的调试中,它也能胜任其他工具,比如IE浏览器,当我们需要弹出一个模式对话框(modalDialog)时,这些浏览器监听插件就派不上用场了,还得fiddler出场。如果你还未曾听说过这个工具,请先阅读这篇科普文:《WEB 调试利器:Fiddler 教程》

fiddler 和常见的底层抓包(网卡) 工具不一样 wincap、wireshark),它是在 web server 和 web browser 之间搭了一层 proxy,所有的请求都会经过它,如下图所示:

 

\

    fiddler在客户浏览器及web服务器之间充当了一个请求及响应的代理角色,它会在本地建立一个默认代理服务,端口为8888,为此我们访问一下此端口,可见如下效果:

\

2、一些常用技巧介绍:

(1)Fiddler中设置断点修改Request

第一种:打开Fiddler 点击Rules-> Automatic Breakpoint  ->Before Requests(这种方法会中断所有的会话)
如何消除命令呢?  点击Rules-> Automatic Breakpoint  ->Disabled
第二种:  在命令行中输入命令:  bpu www.baidu.com   (这种方法只会中断www.baidu.com)
如何消除命令呢?  在命令行中输入命令 bpu

(2)Fiddler中设置断点修改Response

第一种:打开Fiddler 点击Rules-> Automatic Breakpoint  ->After Response  (这种方法会中断所有的会话)
如何消除命令呢?  点击Rules-> Automatic Breakpoint  ->Disabled
第二种:  在命令行中输入命令:  bpafter www.baidu.com   (这种方法只会中断www.baidu.com)
如何消除命令呢?  在命令行中输入命令 bpafter,

(3)自动重定向 AutoResponder 到本地文件

创建重定向规则,例如将目标请求是这个js的HTTP请求重定向到本地文件

请参考阿里 UED 的这篇:使用Fiddler提高前端工作效率 (实例篇)

/kf/201308/234828.html

(4)过滤会话 session list filter:

比如你可能在debug某些网页时,会遇到上百个请求,看的你眼花缭乱,这是你可以启用 fiddler 强大的过滤机制,还可以依据正则来过滤,

如: REGEX:(empty.js.gif|__utm.gif) ,

具体你可以参考:

http://fiddler2.com/documentation/KnowledgeBase/Filters

例如:

\

(5)请求构建器(Request Builder)、对两个数据流进行比较
(6)文本编码和解码:开启Tools -> Text Encode/Decode
(7)模拟user-agent:Rules->Customize Rules、模拟慢速网络
(8)fiddler 打印 cgi log:
(9)fiddler-使用技巧:

       http://vdisk.weibo.com/s/CcitC7ClCn_vr

       http://vdisk.weibo.com/s/CcitC7ClCopIM

(10)FiddlerScript:

         http://fiddler2.com/blog/blog/2013/07/15/understanding-fiddlerscript

(11)Filters Reference:

          http://fiddler2.com/documentation/KnowledgeBase/Filters

(12)自定义列:Add Columns to the Web Sessions List:

          可以看上图的蓝色方框就是自定义列

         http://fiddler2.com/documentation/KnowledgeBase/FiddlerScript/AddColumns

         举个栗子:

         在 rule规则脚本的 static function Main() 函数中添加 3 列:远程、本地ip、referer

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值