Fiddler教程

来源:互联网 发布:大数据电信应用教程 编辑:程序博客网 时间:2024/04/29 12:05

简介

Fiddler是用C#编写的一个免费的HTTP/HTTPS网络调试器,以代理服务器的方式,监听系统的网络数据流动。启动Fiddler后,会在本地打开8888端口,网络数据流通过Fiddler进行中转时,可以监视HTTP/HTTPS数据流的记录并加以分析,甚至可以修改发送和接收的数据。


用途

1、可以监视HTTP/HTTPS数据流的记录并加以分析,甚至可以修改发送和接收的数据。 
2、清除IE缓存、请求构造器、文本转换工具等等一系列工具,对前端开发工作很有价值。 

原理

Fiddler是在浏览器(或其他使用HTTP协议的进程)和服务器之间扮演代理的角色,这样所有通信都要经过它。如下图所示。


下载

http://www.telerik.com/download/fiddler

界面



配置

1、配置HTTPS会话(可选)

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

     

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

     

     

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

2、配置代理(可选)
      打开Fiddler  Tool->Fiddler Options->HOST
      
     选中复选框,在里面输入ip 域名映射,点击save按钮
3、只检测代理ip(可选)
     点击右侧窗口中的Filters
     
     选中“Use Filters”,在下面的第二个下拉框中选中“Show only the following Hosts”,填入网址
4、手机代理(可选)
     调出windows系统的命令行窗口(win+r,输入cmd,回车),输入ipconfig命令,回车,看看本机ip地址。以iphone 5s手机为例,打开设置-无线局域网-选中wifi-手动,在服务器内输入本机的ip地址,端口为Fiddler的8888。
     
     

会话

1、界面
     

2、图标代表含义
     
3、查找会话
       用快捷键Ctrl+F 打开 Find Sessions的对话框,输入关键字查询你要的会话。 查询到的会话会用黄色显示
        
4、保存会话
       有时需要把会话保存下来,以便发给别人或者以后去分析。保存会话的步骤如下:选择你想保存的会话,然后点击File->Save->Selected Sessions。
     

5、比较会话
       选中两条及以上会话,点击右键-Compare
6、过滤会话
       见配置章中第三条
7、删除会话
       可以选中全部会话,按delete键删除,也可以使用Fiddler自带的删除按钮

命令

Fiddler的左下角有一个命令行工具叫做QuickExec,允许你直接输入命令。常用的命令有
    1、help  打开官方的使用页面介绍,所有的命令都会列出来 
    2、cls    清屏  (Ctrl+x 也可以清屏) 
    3、select  选择会话的命令 
    4、?.png  用来选择png后缀的图片 
    5、bpu  截获request
    6、bpafter 截获reponse      

统计

选中左侧http请求,右侧会相应的统计出累积信息,便可获得整个页面加载所消耗的总体时间。从条形图表中还可以分别出哪些请求耗时最多,从而对页面的访问进行访问速度优化。



断点

1、断点修改Request
       有两种方法
       第一种:打开Fiddler 点击Rules-> Automatic Breakpoint  ->Before Requests(这种方法会中断所有的会话)。如何消除命令呢?  点击Rules-> Automatic Breakpoint  ->Disabled。
       第二种:  在命令行中输入命令:  bpu www.weibo.com
    (这种方法只会中断www.weibo.com)。如何消除命令呢?  在命令行中输入命令 bpu。
        实例,模拟CSDN的登录, 在chrome中打开CSDN的登录页面,输入错误的用户名和密码,用Fiddler中断会话,修改成正确的用户名密码。这样就能成功登录。
       ①. 用chrome打开博客园的登录界面  https://passport.csdn.net/account/login
       ②. 打开Fiddler,  在命令行中输入bpu https://passport.csdn.net/account/login
       ③. 输入错误的用户名和密码 点击登录
       ④. Fiddler 能中断这次会话,选择被中断的会话,点击Inspectors tab下的WebForms tab 修改用户名密码,然后点击Run to Completion 如下图所示。
       ⑤. 结果是正确地登录了CSDN


2、断点修改Response    
    有两种方法
     第一种:打开Fiddler 点击Rules-> Automatic Breakpoint  ->After Response  (这种方法会中断所有的会话)。如何消除命令呢?  点击Rules-> Automatic Breakpoint  ->Disabled。
     第二种:  在命令行中输入命令:  bpafter www.weibo.com   (这种方法只会中断www.weibo.com)。如何消除命令呢?  在命令行中输入命令bpafter。
    实例,在本地新建一个html页面,在页面显示ajax回传的参数
     ①.用chrome打开本地测试的 地址 http://www.test.com/1504/ajax.php
    ②. 打开Fiddler,  在命令行中输入bpafter http://www.test.com/1504/ajax.php
    ③. 改动返回的参数值
    ④. Fiddler 能中断这次会话,选择被中断的会话,点击Inspectors tab下的WebForms tab 修改用户名密码,然后点击Run to Completion 如下图所示。     

AutoResponse

此特性对于前端调试特别有用,可以把线上的css、js、image、html文件存储在本地,大大减少了在线调试的困难,下面给个image实例。
    1、以微博logo为例,清空Fiddler会话窗口(命令行输入cls),在浏览器上打开微博,找到logo地址,在会话窗口查找此地址(命令行输入?WB_logo.png),把查找到的会话拖到右侧AutoResponer Tab下,便自动添加一条规则。
    2、勾选Enable automatic reaponses 和Unmatched requests passthrough。
    3、在下面的Rule Editor 下面的第二个复选框选择 Find a file... 选择本地保存的图片.  最后点击Save 保存下。
    4、刷新微博,会看到微博logo已变成了刚刚保存的图片,可以通过删除刚刚的那个规则或是关闭Fiddler来回复。
          
         
         


Composer

1、用途
       构造HTTP请求,模拟相关程序所需数据。
2、两种模式
        ①.Parsed模式(最常用),  把Request分为三个部分, Request line, Request Headesr,  Request Body。  很容易创建一个Request.
        ②. Raw模式,需要你一行一行手动写一个Request。     
3、实例(Parsed模式)
       ①.本地新建接收HTTP请求并写入文件和展示的脚本。
       ②. 在Fiddler右侧的Composer tab中,构造请求数据。
       ③.点击Excute,执行。
       ④. 选中左侧新出现的会话,点击右侧Inspectors查看响应,打开本地相应目录,看看是否生成相应数据。
          
          
          
        

编码工具

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