zoukankan      html  css  js  c++  java
  • Fidder工具使用

     

    简介

    一款免费且功能强大的数据包抓取软件。它通过代理的方式获取程序http通讯的数据,可以用其检测网页和服务器的交互情况,能够记录所有客户端和服务器间的http请求,支持监视、设置断点、甚至修改输入输出数据等功能。fiddler包含了一个强大的基于事件脚本的子系统,并且能够使用.net框架语言扩展。所以无论对开发人员或者测试人员来说,都是非常有用的工具。

     

    工作原理

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

     

    基础实用功能使用说明

    1.使用Fiddler捕获https会话

    默认情况下,Fiddler是不会捕获https会话的,这就需要自行设置一下。打开Fiddler,Tools->Fiddler Options->HTTPS Tab,如下:

     

    如上图,将框起来的部分打钩即可(出现弹出框时点yes即可)。

    2.Fiddler的基本界面

     

    Statistics 对所选中的这些会话的一个统计信息

     Inspectors 对某一条对话的Response和Request的详细介绍

        i)上面是请求信息的监测,Headers是头信息,TextView是内容,Raw是原始信息,就是没有经过分析的信息。

        [RW] Headers—Shows request headers and status.---------------------请求的头信息和统计信息

        [RW] TextView—Shows the request body in a text box.-----------------请求内容部分

        [RW] HexView—Shows the request body in a hexadecimal view.---------请求内容的16进制显示

        [RO] XML—Shows the request body as an XML DOM in a tree view.------请求内容的XML显示

        ii)下面是响应信息的监测,也有Headers和TextView,如果是图片还可以从ImageView看到图片,如果返回的是XML还可以通过XML选项卡查看树型的XML信息

        [RW] Transformer—Removes GZip, DEFLATE, and CHUNKED encodings for easier debugging. ----支持某些压缩

        [RW] Headers—Shows response headers and status. ---------------------------------------------响应的头信息和统计信息

        [RW] TextView—Shows the response body in a text box. -----------------------------------------响应内容部分

        [RW] HexView—Shows the response body in a hexadecimal view.----------------------------------响应内容的16进制显示

        [RO] ImageView—Shows the response body as an Image. Supports all .NET image formats.-------响应内容如果是图片则显示图片

        [RO] XML—Shows the response body as an XML DOM in a tree view.------------------------------响应内容是XML的用树装结构

    AutoResponder可以将已有的相应发回给服务器

    Filter可以对会话进行过滤

    TimeLine 通讯的时间

    Log 日志

    3.http统计视图

    选择一个或多个会话,点击右侧统计,可以轻松的查看所选会话的请求字节数,发送字节数等一系列的统计信息,方便针对统计结果进行相关方面的优化。

    4.QuickExec命令行的使用

    QuickExec命令行是会话列表下边的黑色区域,允许直接在里边输入命令,回车后可执行命令。

    常见的命令有:

    help:打开官网命令帮助文档。

    cls:清屏(Ctrl+X也可以清屏)。

    bpu:截获request

    5.如何在fiddler中设置断点修改request

    设置好断点后,你可以修改httpRequest 的任何信息包括host, cookie或者表单中的数据。设置断点有两种方法,如下:

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

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

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

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

    示例:

    1) 打开界面

    2) 打开Fiddler,在下边的命令行输入命令 (bpu 登录网址 )

    3) 输入错误的用户名密码,点击登录

    4) Fiddler能中断这次对话,选择中断的对话,点击Inspectors tab下的WebForms tab 修改用户名密码,然后点击Run to Completion 如下图所示。

    5) 结果是正确登录了系统。

    6.Fiddler中修改response

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

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

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

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

    7.Fiddler中创建AutoResponder规则

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

    1) 开启重定向规则,更改Fiddler如下:

     

    界面上有三个选择框,第一个的作用是开启或禁用自动重定向功能,我们就可以在下面添加重定向规则了;第二个选择框被勾上时,不匹配的请求可以通过,不影响那些没满足我们处理条件的请求。

    2) 创建重定向规则,将目标文件(左侧被选中会话)的http请求重定向到本地,如:选择某一个会话,如图片或者js等。

    3) 点击Add Rule(或者直接拖拽到右侧),即会将选中的会话添加到右侧待处理

    4) 选择本地的文件或者需要替换的文件,替换刚刚选择的内容。如下图:

    5) Save之后,会保存到上边的信息框,不管是否进行调试,访问左侧的地址时,都会以右侧的地址内容替代。

    6) 不需要时,选中上图的信息,右键即可进行删除此重定向规则。

    8.过滤会话

    Fiddler一旦开启,会监听所有打开的浏览器的网站的所有会话,有时候我们为了对某一类会话进行分析,就可使用过滤功能。

    右侧的Filters Tab进行过滤设置,勾选Use Filters即可对捕获的会话进行设置规则的过滤,左侧的会话列表只显示过滤后的结果,如下图所示:

     

    上图选择了 Show only following Hosts的选择项,并在其下文本框内输入相关的hosts信息,则左侧过滤后结果都展示域名为*.baidu.com的结果。

    文本框域名填写规则:

    a) baidu.com:会只捕获www.baidu.comhttp请求信息。

    b) *.baidu.com:会捕获到baidu.com的所有其下二级域名的http请求。

    c) *baidu.com:会捕获任何以baidu.com结尾的域名的http请求信息。

    d) 多个hosts设置之间以分号相隔。

    其它的过滤设置可根据情况自行设定。

    9.重新发送一个请求

    1) 选择左边的一个会话,右键选择Replay > Reissue Requests,则会将选择的会话重新发送请求,http请求的相关信息不变。

    2) 如果想重新发送一个请求,但是改变请求的相关信息,就用使用Composer Tab了。

    选择Composer Tab->Scratchpad ,在左边选择需要重新请求的会话,拖拽到右侧,则出现如下:

     

    修改该会话的相关信息后,选中此会话(多个会话时选中要执行的会话)并点击右上角Execute按钮执行,则此会话以新的请求信息进行重新请求,左侧会话框则会捕获此次请求,点击会话到相关的Tab,即查看新的http请求信息.

     

     

     

     

     

  • 相关阅读:
    第二十四讲 ASP.NET中开发复合控件
    第二十六讲 使用ASP.NET实现网络通讯
    第二十五讲 ASP.NET中的XML
    【经验】android webview 后退键导致表单再次提交
    【笔记】java 泛型
    【笔记】Collection
    【算法】Tween算法
    【JavaSript】发现一个漏洞
    【研究】加载图片时,同一url,多次request
    【笔记】多态之Override
  • 原文地址:https://www.cnblogs.com/luoxiaoxiao102/p/5853748.html
Copyright © 2011-2022 走看看