zoukankan      html  css  js  c++  java
  • 【fiddler】fiddler基础

    一、浏览器设置

    一般情况下,fiddler会自动修改IE浏览器的设置,捕捉到IE浏览器的搜有通讯。其他浏览器需要手动设置

    如chrome

    打开chrome->设置->高级->系统->打开代理设置

    连接->局域网设置->高级 代理设置配置如下

     

    默认情况下,fiddler是不会捕捉Https的请求,需要手动设置一下。启动软件,点击【Tools】—【fiddler Options】,在弹出的新窗口中,点击HTTPS选项卡,将捕获HTTPS连接这一选项前面全打上勾,点击OK就操作成功了。如下图所示:

     

    二、fiddler界面

     

    左边主要是Fiddler抓取到的每条http请求(每一条称为一个session),主要包含了请求的url,协议,状态码,body等信息,详细的字段含义如下图所示

     

     

    #栏图标

     

     

    常见状态码

    200       服务器成功处理了此请求

    301/302  (重定向)请求的URL已移走,response中应包含location url说明资源现在所在位置

    304      (未修改)客户的资源是最新的,要客户端使用缓存

    404       未找到资源

    501       服务器遇到一个错误,使其无法对请求提供服务

    502      (网关故障)代理使用的服务器遇到了上游的无响应

    2)右边为详情和数据统计面板

    针对每条http请求的具体统计(例如发送/接受字节数,发送/接收时间,还有粗略统计世界各地访问该服务器所花费的时间)和数据包分析。

    1.Textwizard

    编码和解码文本内容

    URLdecode:将url解码

    2.Inspector(对请求解包)

     

     

    Header:可能包含client:ua(用户使用浏览器)cookies、发送请求所在域(refers)

    Webform:以直观的界面查看body的值和querering string的值(post请求时)

    Raw:可以查看完整的消息结构

    3.Autoresponder文件替换

    一个文件映射到指定目录或文件下(用于定位线上映射到本地做修改,看是否生效)

    Exact:精准匹配

    可返回本地文件或指定

     

    4.Composer

    composer面板,则可以模拟向相应的服务器发送数据的过程

    Get请求

    GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传数据,参数之间以&相连,如

    http://192.168.217.174:8081/api/transactions?zoneNumber=1&startTime=2017-07-25%2017:03:34&endTime=2017-07-25%2017:18:09&per_page=20。

    如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密,得出如:%E4%BD%A0%E5%A5%BD,其中%XX中的XX为该符号以16进制表示的ASCII。

     

     

    Post请求

    POST把提交的数据则放置在是HTTP包的包体中。

     

     

    Get是向服务器发索取数据的一种请求,而Post是向服务器提交数据的一种请求

    5.Statistics(性能指标)

     

     

    点击某个请求时:

    Clientconnect:客户端连接建立的时间

    Clientbeginrequest:请求时间

    Gotrequestheader:发送请求头时间

    Clientdonerequest:请求发送出去

    全世界范围内的平均数据

    RTT:请求的往返时间(衡量请求性能的重要指标)

    6.Timeline

    在左侧会话窗口点击一个或多个(同时按下 Ctrl 键),Timeline 便会显示指定内容从服务端传输到客户端的时间

     

     

     

    7.Filter域名过滤

     

     

    Hide the following Hosts隐藏host,

    Show only the following Hosts只显示写出来的host ,在文本框内输入需要过滤的域名,多个域名使用‘;’分号分割。

    Flag the following Hosts标记,显示出来,但是可以打个标记

    进程过滤

    8.QuickExec命令行的使用

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

    常见得命令有:

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

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

    select  选择会话的命令(content type contains)

    ?.png  用来选择png后缀的图片(url中含有png)

    bpu  截获request

     

     

    9.网络限速(fiddlerscript)

    测试网站在网络较差的情况下的性能

    限速原理:每上传/下载1KB要延时多久

    算法:1000/下载速度=需延时(delay)的时间(ms)

    1)找到时间OnBeforeRequest

    oSession["request-trickle-delay"] = "3000";(3s后请求发送)

    oSession["response-trickle-delay"] = "3000";(3s后响应)

    点击save script

     

     

     

     

    2)找到m_SimulateModem

    设置 oSession["request-trickle-delay"] = "300";(每上传1KB延迟300ms) 
         oSession["response-trickle-delay"] = "150"; (每下载1KB延迟150ms)

    Save Script后,勾选rule-performance-Simulate Modem Speeds生效

    三、设置 host

    1.Fiddler很重要的一个作用就是作为代理,可以起到修改Host的效果。这个对于测试,特别是无线设备不方便Root的情况。显得十分方便。具体操作:点击Tools—Hosts,在弹出的新窗口中,选中填写需要设置的Host,,点击OK就操作成功了。

     

     

    2.修改request hostname

    暂时性修改

    在quic exec中输入

    Urlreplace 域名 代替域名,按下enter后则转发到指定域名中,取消时输入Urlreplace

    永久方法

    1.在fiddlerscript中找到事件OnBeforeRequest添加以下代码

    if ( oSession . HostnameIs ( '域名' ) )

     oSession . hostname = '代替域名' ;

    四、使用Fiddler进行HTTP断点调试。

    1.fiddler菜单栏->rules->automatic Breakpoints->选择断点方式,这种方式下设定的断点会对之后的所有HTTP请求有效。

    有两个断点位置:

    a. before response。也就是发送请求之后,但是Fiddler代理中转之前,这时可以修改请求的数据。

    b.after response。也就是服务器响应之后,但是在Fiddler将响应中转给客户端之前。这时可以修改响应的结果。

    2.命令行下输入,这种断点只针对特定类型的请求。

     

     

    例如

    可以通过命令行设置:bpafter imooc。键入回车之后,web再次访问文件,通过Fiddler的web session界面可以看到,请求已经被挂起来了,而web浏览器也一直处于加载的状态。

    这时我们就可以修改响应的信息了。修改过程为:

    切换到textView子面板,选择需要修改的部分,然后点击 “run to complete“,便可回送修改后的响应。假设修改了html标题

     

     

    打开修改的web界面:

     

     

    3.终止断点

    1). 在inspector界面点击“run complete“即会终止本次HTTP请求的断点

    2). 输入go命令,也会使得当前的请求跳过断点。

    3). 在rules->auto breakpoint中disabled断点即可。

    4). 命令输入栏输入bpafter等

     

    五、手机抓包

    1.对pc进行设置

    1). 配置fiddler允许监听到https(fiddler默认只抓取http格式的)

       打开Fiddler菜单项Tools->TelerikFiddler Options->HTTPS,

       勾选CaptureHTTPS CONNECTs,点击Actions,

       勾选Decrypt HTTPS traffic和Ignore servercertificate errors两项

    2). 配置fiddler允许远程连接

       点击Tools->TelerikFiddler Options->Connections,勾选allow remote computers to connect,默认监听端口为8888,若端口被占用可以设置成其他的,配置好后要重新启动fiddler,

     

     

    2.对手机参数进行设置

    手机和pc处于同一网段

    1).打开手机浏览器,输入http://ip:端口号,点击前往

    2).安装证书

    3).更改手机网络代理

    手机系统设置-无线网-点击高级,代理选择手动,主机名就是fiddler的电脑ip地址,端口号,就是fiddler的端口号,与浏览器中ip:端口号保持一致,点击确定

     

     

     

    4).操作手机,fiddler中会显示一些请求

     

  • 相关阅读:
    特征提取算法(3)——SIFT特征提取算子
    特征提取算法(2)——HOG特征提取算法
    特征提取算法(1)——纹理特征提取算法LBP
    图像梯度
    插值算法
    边缘检测
    形态学滤波
    adaboost面试题
    12.敏捷估计与规划——Splitting User Stories笔记
    10.敏捷估计与规划——Financial Prioritization笔记
  • 原文地址:https://www.cnblogs.com/dhs94/p/11131299.html
Copyright © 2011-2022 走看看