`
javasee
  • 浏览: 965084 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Fiddler 宝典

 
阅读更多

Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据. 使用Fiddler无论对开发还是测试来说,都有很大的帮助。

Fiddler的基本介绍

Fiddler的官方网站:  www.fiddler2.com

Fiddler官方网站提供了大量的帮助文档和视频教程, 这是学习Fiddler的最好资料。

Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据,Fiddler包含了一个强大的基于事件脚本的子系统,并且能使用.net语言进行扩展

你对HTTP 协议越了解, 你就能越掌握Fiddler的使用方法. 你越使用Fiddler,就越能帮助你了解HTTP协议.

Fiddler无论对开发人员或者测试人员来说,都是非常有用的工具

Fiddler的工作原理

Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1, 端口:8888. 当Fiddler退出的时候它会自动注销,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler.

 

同类的其它工具

同类的工具有: httpwatch, firebug, wireshark

 

Fiddler 如何捕获Firefox的会话

能支持HTTP代理的任意程序的数据包都能被Fiddler嗅探到,Fiddler的运行机制其实就是本机上监听8888端口的HTTP代理。 Fiddler2启动的时候默认IE的代理设为了127.0.0.1:8888,而其他浏览器是需要手动设置的,所以将Firefox的代理改为127.0.0.1:8888就可以监听数据了。

Firefox 上通过如下步骤设置代理

点击: Tools -> Options,  在Options 对话框上点击Advanced tab - > network tab -> setting.

 

Fiddler如何捕获HTTPS会话

默认下,Fiddler不会捕获HTTPS会话,需要你设置下, 打开Fiddler  Tool->Fiddler Options->HTTPS tab

 选中checkbox, 弹出如下的对话框,点击"YES"

点击"Yes" 后,就设置好了

Fiddler的基本界面

 看看Fiddler的基本界面

 

Fiddler的HTTP统计视图

通过陈列出所有的HTTP通信量,Fiddler可以很容易的向您展示哪些文件生成了您当前请求的页面。使用Statistics页签,用户可以通过选择多个会话来得来这几个会话的总的信息统计,比如多个请求和传输的字节数。

选择第一个请求和最后一个请求,可获得整个页面加载所消耗的总体时间。从条形图表中还可以分别出哪些请求耗时最多,从而对页面的访问进行访问速度优化

QuickExec命令行的使用

Fiddler的左下角有一个命令行工具叫做QuickExec,允许你直接输入命令。

常见得命令有

help  打开官方的使用页面介绍,所有的命令都会列出来

cls    清屏  (Ctrl+x 也可以清屏)

select  选择会话的命令

?.png  用来选择png后缀的图片

bpu  截获request

 

Fiddler中设置断点修改Request

Fiddler最强大的功能莫过于设置断点了,设置好断点后,你可以修改httpRequest 的任何信息包括host, cookie或者表单中的数据。设置断点有两种方法

第一种:打开Fiddler 点击Rules-> Automatic Breakpoint  ->Before Requests(这种方法会中断所有的会话)

如何消除命令呢?  点击Rules-> Automatic Breakpoint  ->Disabled

第二种:  在命令行中输入命令:  bpu www.baidu.com   (这种方法只会中断www.baidu.com)

如何消除命令呢?  在命令行中输入命令 bpu

 

看个实例,模拟博客园的登录, 在IE中打开博客园的登录页面,输入错误的用户名和密码,用Fiddler中断会话,修改成正确的用户名密码。这样就能成功登录

1. 用IE 打开博客园的登录界面  http://passport.cnblogs.com/login.aspx
2. 打开Fiddler,  在命令行中输入bpu http://passport.cnblogs.com/login.aspx
3. 输入错误的用户名和密码 点击登录
4. Fiddler 能中断这次会话,选择被中断的会话,点击Inspectors tab下的WebForms tab 修改用户名密码,然后点击Run to Completion 如下图所示。
5. 结果是正确地登录了博客园

 

 

Fiddler中设置断点修改Response

当然Fiddler中也能修改Response

第一种:打开Fiddler 点击Rules-> Automatic Breakpoint  ->After Response  (这种方法会中断所有的会话)

如何消除命令呢?  点击Rules-> Automatic Breakpoint  ->Disabled

第二种:  在命令行中输入命令:  bpuafter www.baidu.com   (这种方法只会中断www.baidu.com)

如何消除命令呢?  在命令行中输入命令 bpuafter,

具体用法和上节差不多,就不多说了。

Fiddler中创建AutoResponder规则

Fiddler 的AutoResponder tab允许你从本地返回文件,而不用将http request 发送到服务器上。

看个实例. 1. 打开博客园首页,把博客园的logo图片保存到本地,并且对图片做些修改。

2. 打开Fiddler 找到logo图片的会话, http://static.cnblogs.com/images/logo_2012_lantern_festival.gif,  把这个会话拖到AutoResponer Tab下

3. 选择Enable automatic reaponses 和Unmatched requests passthrough

4. 在下面的Rule Editor 下面选择 Find a file... 选择本地保存的图片.  最后点击Save 保存下。

5.  再用IE博客园首页, 你会看到首页的图片用的是本地的。

 


Fiddler中如何过滤会话

每次使用Fiddler, 打开一个网站,都能在Fiddler中看到几十个会话,看得眼花缭乱。最好的办法是过滤掉一些会话,比如过滤掉图片的会话. Fiddler中有过滤的功能, 在右边的Filters tab中,里面有很多选项, 稍微研究下,就知道怎么用。

 

Fiddler中会话比较功能

选中2个会话,右键然后点击Compare,就可以用WinDiff来比较两个会话的不同了 (当然需要你安装WinDiff)

 

Fiddler中提供的编码小工具

点击Fiddler 工具栏上的TextWizard,  这个工具可以Encode和Decode string.

Fiddler中查询会话

用快捷键Ctrl+F 打开 Find Sessions的对话框,输入关键字查询你要的会话。 查询到的会话会用黄色显示

Fiddler中保存会话

有些时候我们需要把会话保存下来,以便发给别人或者以后去分析。  保存会话的步骤如下:

选择你想保存的会话,然后点击File->Save->Selected Sessions

Fiddler的script系统

Fiddler最复杂的莫过于script系统了 官方的帮助文档: http://www.fiddler2.com/Fiddler/dev/ScriptSamples.asp

首先先安装SyntaxView插件,Inspectors tab->Get SyntaxView tab->Download and Install SyntaxView Now... 如下图

 

安装成功后Fiddler 就会多了一个Fiddler Script tab, 如下图

在里面我们就可以编写脚本了, 看个实例 让所有cnblogs的会话都显示红色。

把这段脚本放在OnBeforeRequest(oSession: Session) 方法下,并且点击"Save script"

     if (oSession.HostnameIs("www.cnblogs.com")) {
            oSession["ui-color"] = "red";
        }
复制代码

这样所有的cnblogs的会话都会显示红色

 

如何在VS调试网站的时候使用Fiddler

我们在用visual stuido 开发ASP.NET网站的时候也需要用Fiddler来分析HTTP, 默认的时候Fiddler是不能嗅探到localhost的网站。不过只要在localhost后面加个点号,Fiddler就能嗅探到。

例如:原本ASP.NET的地址是 http://localhost:2391/Default.aspx,  加个点号后,变成 http://localhost.:2391/Default.aspx 就可以了

10
2
分享到:
评论
2 楼 swearyd7 2012-11-09  
  
1 楼 lyaqys 2012-02-14  
好文,谢谢lz

相关推荐

    fiddler2 和 fiddler4 版本

    Fiddler是一款强大的网络调试工具,它允许开发者捕获、查看、修改HTTP(S)网络...根据你的具体需求和环境,可以选择适合的版本进行下载安装,其中`fiddler4setup.exe`对应Fiddler4,`fiddler2setup.exe`则对应Fiddler2。

    Fiddler 4.6 自带fiddlerscript插件

    Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据,Fiddler包含了一个强大的基于事件脚本的子系统,并且能使用.net语言进行扩展...

    fiddler中文免安装版

    **Fiddler中文免安装版详解** Fiddler是一款强大的网络封包分析工具,由Telerik公司开发,广泛应用于Web应用程序的调试、性能测试和安全评估。它能够捕获HTTP和HTTPS流量,帮助开发者深入了解网络通信过程,解决...

    Fiddler中文免安装.zip

    **Fiddler中文免安装.zip** 是一个专为Windows用户设计的压缩包,它包含了Fiddler的中文版本,无需安装即可直接使用。Fiddler是一款强大的网络调试工具,由Telerik公司开发,广泛应用于软件开发、测试和网络监控等...

    Fiddler安装包.zip

    在软件开发、网站优化、问题排查等领域,Fiddler被广泛应用。这款工具可以让你看到浏览器与服务器之间的所有交互数据,帮助开发者理解网络请求的详细过程,从而找出可能存在的问题。 Fiddler的核心功能包括: 1. *...

    FiddlerCore4源码

    【FiddlerCore4源码】是一个开源项目,包含了FiddlerCore的源代码,这是一个强大的网络调试代理库。FiddlerCore是Fiddler的主要组成部分的轻量级版本,适用于.NET Framework 4.6环境,并且可以在Visual Studio 2010...

    Fiddler教程.pdf

    最后,Fiddler还提供了“脚本”功能,它允许用户编写和执行自定义的Fiddler脚本来扩展Fiddler的功能。Fiddler社区和官方提供了大量的脚本示例和模板,以帮助用户实现如性能测试、自定义数据处理、接口测试等特定任务...

    Fiddler软件(大家别上当Fiddler没有中文版的)

    标题中的"大家别上当Fiddler没有中文版的"可能源于一些误解或误导信息,实际上Fiddler的官方版本并未提供中文语言包。尽管如此,由于其用户界面相对简洁,英文版对于有一定英语基础的用户来说并不构成太大障碍。许多...

    FiddlerCore net core免费版.zip

    FiddlerCore是一款强大的网络调试工具Fiddler的.NET库版本,它允许开发人员在自己的应用程序中集成网络抓包和分析功能。FiddlerCore在.NET Core上的实现使其跨平台,不仅限于Windows,还可以在Linux等其他操作系统上...

    Fiddler——如何使用Fiddler

    Fiddler——如何使用FiddlerFiddler——如何使用Fiddler; Fiddler——如何使用FiddlerFiddler——如何使用FiddlerFiddler——如何使用FiddlerFiddler——如何使用FiddlerFiddler——如何使用Fiddler Fiddler——...

    fiddler中文包

    - `fiddler.exe.config`是Fiddler的配置文件,包含Fiddler运行时的设置。 - `Xceed`系列的DLL文件(如Xceed.Zip.v5.4.dll等)是Xceed公司的压缩库,Fiddler可能用它们来处理压缩文件或数据传输。 - `Telerik....

    Fiddler5 中文版

    在这个场景中,Fiddler5 被提及为解决 **QT** 下载慢问题的解决方案。 **QT** 是一种跨平台的开发框架,广泛用于创建桌面应用、移动应用以及嵌入式系统。它支持多种编程语言,包括C++,并且拥有丰富的库和工具,...

    Fiddler Fiddler 调试代理

    Fiddler Fiddler 调试代理

    Fiddler安装包

    **Fiddler安装包详解** Fiddler是一款强大的网络调试工具,主要由 Telerik 公司开发,被广泛应用于Web应用程序的性能测试、故障排查和HTTP协议分析。它能够捕获并记录HTTP/HTTPS协议的网络流量,帮助开发者、测试...

    Fiddler 5.0.20194.41348_fiddler_fiddler5.0.20194._f_fiddler5.

    在标题和描述中提到的"Fiddler 5.0.20194.41348_fiddler_fiddler5.0.20194._f_fiddler5.",这可能是Fiddler的一个特定版本号或更新包,用于升级到Fiddler的5.0.20194.41348版本。虽然提供的标签为空,但我们可以基于...

    编程猫fiddler插件1.07

    **编程猫fiddler插件1.07详解** 编程猫fiddler插件1.07是一款专为开发者设计的工具,它基于著名的网络调试代理Fiddler进行扩展,主要用于JavaScript的调试以及hook注入。Fiddler是Web调试神器,能够捕获HTTP/HTTPS...

    Fiddler

    Fiddler抓包工具

    Fiddler官方接口调用源码

    相信大家都用过Fiddler,但是不知道有没有了解过 FiddlerCoreAPI,也就是Fiddler提供的调用接口。FiddlerCoreAPI接口有着比Fiddler更为丰富的功能,如拦截、修改、替换、更新等操作,同样支持抓取HTTPS(SSL)数据包...

    fiddler官网最新5.0.2024版本

    Fiddler 是最常用的 Web 及APP调试工具之一。 对于开发来说,前端可以通过 Fiddler 代理来调试 JS、CSS、HTML样式。后端可以通过 Fiddler 查看请求和相应,定位问题。 对于测试来说,可以通过抓包方式修改前端请求...

Global site tag (gtag.js) - Google Analytics