• fiddler


    1.复制URL

    图形操作:

    当然 也有快捷操作:

    ctrl+u

    ---------------------------------------------------------

    2.

    web session的常用的快捷键

    CTRL+A: 选中所有的session;

    ESC:  取消选中所有的session;

    CTRL+I  反向选中;如果session已选中,则取消,否则选中;

    CTRL+X  删除所有的session;

    Delete: 删除选中的session;

    Shift+Delete 删除所有未选中的session

    R  重新执行当前请求

    SHIFT+R  多次重复执行当前请求

    U: 无条件重新执行当前请求,发送不包含If-Modified-Since 和 If-None-Match的请求头

    SHIFT+U 无条件地多次重复执行当前请求。

    ALT+Enter 查看当前session的属性;

    Insert:切换是否用红色粗体标记选中的session

    M  给选中的session添加描述;

    ------------------------------------------------------

     3.

    统计选项卡的一些信息含义如下解释:

    Request Count 选中的session数;

    Unique Hosts 流量流向的独立目标主机数。如果所有选中的流量都发送到相同的服务器上,则不会显示该字段。

    Bytes sent:  HTTP请求头和请求体中向外发送的字节总数。后面括号中分别给出了头和body各自的字节数。

    Bytes received: HTTP请求头和请求体中接收到的所有字节数。在全部计数后面的括号中给出了请求头和请求体各自的字节数。

    Requests started at: Fiddler接收到的第一个请求的第一个字节的时间点。

    Responses completed at: Fiddler发送到客户端的最后一个响应的最后一个字节的时间点。

    Sequence(clock) duration:  第一个请求开始到最后一个响应结束之间的 “时钟时间”。

    Aggregate session duration: 所有选中的session从请求到响应之间的时间的和。

    DNS Lookup time: 所有选中的session解析DNS所花费的时间的总和。

    TCP/IP Connect duration: 所有选中session建立TCP/IP连接所花费的时间总和。

    HTTPS Handshake duration: 所有选中session在HTTPS握手上所花费的时间总和。

    Response Codes: 选中session中各个HTTP响应码的计数。

    Response Bytes by content-type: 选中session中响应的各个Content-Type的字节数。

    Estimated Performance: 选中的流量在不同语种(local)地区和连接方式下所需时间的初步估计。

    下面让我们来系统的学习Filters选项卡吧!界面图如下所示:

    选中Filters选项卡左上方的Use  Filters复选框后,就可以使用其中随后给出的过滤器对流量进行过滤了;

    选项卡右上方的Actions按钮支持把当前选中的过滤器作为过滤集,加载之前保存的过滤集,并对之前扑捉到的数据流应用当前过滤规则,如下:

    Host Filter下拉框支持标示或隐藏在随后的文本框中指定的域名下的数据流;比如如下下拉框如下:

    Not Host Filter 的含义是不过滤host的请求;

    Hide the following Hosts的含义是:隐藏下面文本框中指定的域名下的数据流;如下所示:

    Show only the following Hosts的含义是:只显示下面文本框指定的域名的数据流,如下所示:

    如上我访问的是淘宝网,那么只会显示对a.tbcdn.cn和g.alicdn.cn的数据流;如上所示:

    注意:文本框不会自动通过通配符匹配子域名。这意味着如果你设置了 show only the following hosts , 并且在文本框中只写了alicdn.com, 那么将无法看到g.alicdn.com或者www.alicdn.com域名下的所有数据流,如下所示:

    我们需要添加通配符  *.alicdn.com,就可以看到所有子域名下的数据流;如下所示:

    如果我们想查看根目录下alicdn.com下的数据流,可以把通配符改成如下 *alicdn.com即可,这样就可以包含所有域名以alicdn.com结束的数据流。前面不要加点;如下所示:

    客户端进程(Client Process

    进程过滤器控制显示那个进程的数据流。正在运行的应用进程和Fiddler在相同的主机时,Fiddler才能判断出是那个进程发出的哪个请求;

    下拉框 Show only traffic from的列表中包含了系统中当前正在运行的所有进程,如下所示:

    如果我们选中上面的某个进程的话,就会只显示该进程下的数据流,比如我现在选中的是淘宝进程;

    Show only Internet Explorer 选项只显示进程名称以IE开头或请求的User-Agent头包含compatible;MSIE的数据流;

    Hide traffic from Service Host选项会隐藏来自进程svchost.exe的数据流,svchost.exe进程是个系统进程,会同步RSS Feeds以及执行其他后台网络活动。其选项一般用的不多。

    请求头Request Headers

    通过这个选项,你可以添加或删除HTTP请求头,也可以标示包含某些请求头的请求。

    Show  only  if URL contains:的含义是支持基于URL显示某些请求;可以使用前缀EXACT来限定大小写敏感;

    Hide if URL contains 和上面的是相反的含义,也就是隐藏的意思;

    Flag  requests with header选项支持指定某个http请求头名称,如果在web session列表中存在该请求头,会加粗显示该session;

    Delete request header 支持指定某个HTTP请求头名称,如果包含该请求头,会删除该请求头;

    set request header选项支持创建一个指定了名称和取值的HTTP请求头,或将HTTP请求头更新为指定取值。

    断点Breakpoints

    Fiddler提供了断点调式功能,session在执行过程中,有2个可能执行中断的时间点;

    1. 从客户端读到请求后,在请求被发送到服务器端之前。
    2. 在服务器端返回响应之后,在响应返回客户端之前。

    当程序在请求中断点停止执行时,你可以任意修改该请求,包括URL,headers或body,我们还可以不发送该请求到服务器端,我们可以直接自定义数据返回给客户端,同样,当程序在响应断点停止执行时,我们也可以任意修改响应的内容,包括headers或body。我们先来操作一下如下:

    一: 菜单栏 Rules –》 Automatic Breakpoints –》 Before Requests(请求被发送到服务器端之前);或者 After Responses(响应返回客户端之前)

    比如我现在后台系统,我点击查询按钮,需要发送一个POST请求,如下:

    现在我们再来看看Fiddler中截取请求,如下所示:

    如上,红色的小图标是被中断的会话,我们可以左键双击两下,进入Inspectors选项卡,如下所示:

    我们在Inspectors –》 WebForms选项卡中可以看到请求中携带的参数如上,我们可以任意修改参数名值对,我们也可以任意添加参数,或者增加cookies或者headers等等,现在我们来看看浏览器中请求响应了没有?如下所示:

    现在我们可以再点击黄色小图标 Break on Response 小按钮,如下所示:

    可以看到,请求直接返回数据,现在黄色小图标是不能点击的按钮,现在我们可以来修改响应的内容,模拟请求返回,我们也可以自定义返回的json数据,或者我们以后来模拟get或者post请求,我们不需要服务器端(比如php)返回对应JSON数据,我们完全可以使用Fiddler来模拟数据,发送一个空的请求,然后使用fiddler来截取,自己自定义返回json数据,我们可以自定义返回的数据,如下所示,我是修改返回的内容如下所示:

    当我们点击Run to Completion按钮后,在浏览器端可以响应数据,接着如下:

    然后我们在页面上可以看到修改返回的数据内容如下:

    如上是整个断点调式的过程。

    如下所示:

    当然我们可以在filters里面的选项勾选也可以进行调式如下:

    断点选项框支持对包含给定属性的请求或响应设置断点;

    Break request on POST选项含义是:会为所有POST请求设置断点;

    Break request on GET with query string的含义是:会为所有方法为GET且URL中包含了给定查询条件的请求设置断点。

    Break on XMLHttpRequest的含义是:对所有能够确定是通过XMLHTTPRequest对象发送的请求设置断点,由于从数据流上无法判断该请求是否通过XMLHTTPRequest对象发送,因此该方法是通过查找请求头是否为X-Requested-With实现的。

    Break response on Content-Type选项的含义是:会为所有响应头Content-Type中包含了指定文本的响应设置响应断点。

    响应状态码 Response Status Code

    如下所示:

    我们可以通过这些选项,基于响应状态码来过滤session;含义如下:

    Hide success(2xx)的含义是:会隐藏状态码在200到299之间(包含200和299)的响应。

    Hide non-2xx的含义是:会隐藏状态码不在200到299之间的响应。

    Hide Authentication demands(401,407)的含义是:会隐藏状态码是401和407的响应,这些响应需要用户进一步确认证书。

    Hide redirects的含义是:会隐藏对请求进行重定向的响应。

    Hide Not Modified(304) 会隐藏状态条件中状态码为304的响应。

    响应类型和大小

    通过如上选项,我们可以控制在Web sessions列表中显示那些类型的响应,并堵塞符合某些条件的响应。

    我们先来看看上面的下拉框有哪些选项;如下所示:

    Show all Content-Types的含义是 不过滤;

    Show only IMAGE/* 的含义是 显示Content-Type头是图像类型的Session。

    Show  only HTML 的含义是 隐藏Content-Type头不是HTML类型的Session。

    Show only Text/css 含义是 隐藏Content-Type头不是text/css类型的Session。

    Show only Scripts 含义是 隐藏Content-Type头不是Scripts类型的Session。

    Show only xml 含义是 隐藏Content-Type头不是xml类型的Session。

    Show only JSON 含义是 隐藏Content-Type头不是JSON类型的Session。

    Hide IMAGE/*  含义是 隐藏Content-Type头不是图像类型的Session。

    Hide smaller than选项隐藏响应体小于指定的字节数的响应。

    Hide larger than选项隐藏响应体大于指定字节数的响应。

    Time HeatMap复选框会基于服务器返回给定响应所需要的时间为每个session设置背景颜色。

    下面的不一一介绍具体的含义了,一般情况下我们是用不到的,具体的含义看英文也大概知道点,对此这边不一一介绍了;

    refer:

    https://www.cnblogs.com/tugenhua0707/p/4623317.html?utm_source=tuicool&utm_medium=referral

    http://www.cnblogs.com/tugenhua0707/p/4637771.html

  • 相关阅读:
    算法_2022_分类
    算法_2022_时间&空间复杂度
    JWT详解
    LDAP是什么?
    Bootstrap Blazor 开源UI库介绍Table 虚拟滚动行
    .Net Core 配置文件读取 IOptions、IOptionsMonitor、IOptionsSnapshot
    .NET 7 来了!!!
    git 配置提交模板
    .NET 反向代理YARP 部署Https(SSL)
    .NET 反向代理YARP
  • 原文地址:https://www.cnblogs.com/zunchang/p/8866444.html
Copyright © 2020-2023  润新知