Fiddler界面详解

Statistics 页签

完整页签以下图:php

 

Statistics 页签显示当前用户选择的 Sessions 的汇总信息,包括:选择的 Sessions 总数、发送字节数、接收字节数、响应类型的汇总表、世界各地经过不一样请求方式所需的时间等。css

Statistics 页签底部图表

Show Chart 能够将汇总结果显示为一个饼状图,按照响应类型,在饼图中显示不一样的比例和不一样的色块,见上图。java

Copy this chart 能够将该饼图复制到剪贴板,粘贴到图形处理软件或者 WORD 中。正则表达式

Collapse Chart 收起饼图展现。算法

 

 Inspectors 页签

完整页签以下图:浏览器

 

Inspectors 页签容许你用多种不一样格式查看每一个请求和响应的内容。JPG 格式使用 ImageView 就能够看到图片,HTML/JS/CSS 使用 TextView 能够看到响应的内容。缓存

Inspectors 页签分为上下两部分,上部显示的是发出的请求相关信息,下部显示的是接收的响应相关信息服务器

请求 (Request) 部分详解

  1. Headers —— 显示客户端发送到服务器的 HTTP 请求的 header,显示为一个分级视图,包含了 Web 客户端信息、Cookie、传输状态等
  2. Textview —— 显示 POST 请求的 body 部分为文本
  3. WebForms —— 显示请求的 GET 参数 和 POST body 内容,特别说明,这里 body 应该是 application/x-www-form-urlen-coded 格式
  4. HexView —— 用十六进制数据显示请求
  5. Auth —— 显示 header 中的 Proxy-Authorization 和 Authorization 信息
  6. Raw —— 将整个请求显示为纯文本
  7. XML —— 若是请求的 body 是 XML 格式,就是用分级的 XML 树来显示它

响应 (Response) 部分详解

  1. Transformer —— 显示响应的编码信息

    顶部的黄色提示文字表示,此请求为了提升性能,而作了编码或者压缩(例如 GZIP),须要转换后才能在 TextView 里正常浏览。点击该区域或者下面的 Remove HTTP Chunked Encoding 按钮,都能执行转换或者解压缩。若是该请求没编码/压缩是看不见此提示的。cookie

    HTTP Compression 显示当前请求使用的编码方式session

    • No Compression —— 无压缩
    • GZIP Encoding —— GZIP 压缩
    • DEFLATE Encoding —— DEFLATE 压缩
    • BZIP2 Encoding —— BZIP2 压缩

    对未编码压缩的请求,能够选择不一样的模式,看 Entity Size 里显示压缩后有多大。从而根据这个决定是否须要采用这样的压缩技术来提高网站的性能。

  2. Headers —— 用分级视图显示响应的 header
  3. TextView —— 使用文本显示相应的 body
  4. ImageVies —— 若是请求是图片资源,显示响应的图片。

    左侧灰色区域会显示图片的大小、宽高、文件格式等信息,在下方还能够选择缩放模式:自动缩放、缩放以适应显示区域大小、无缩放

     

  5. HexView —— 用十六进制数据显示响应
  6. WebView —— 响应在 Web 浏览器中的预览效果
  7. Auth —— 显示响应 header 中的 Proxy-Authorization 和 Authorization 信息
  8. Caching —— 显示此请求的缓存信息
  9. Privacy —— 显示此请求的私密 (P3P) 信息
  10. Raw —— 将整个响应显示为纯文本
  11. XML —— 若是响应的 body 是 XML 格式,就是用分级的 XML 树来显示它 

AutoResponder 页签

完整页签以下图:

 

此功能启用后,能够将某一请求的响应结果替换成指定的资源,能够是本地文件,也能够是 Fiddler 内置的各类 HTTP 响应。主要用于临时拦截某一请求的响应,而无需修改服务器上的环境和代码,保证在最真实的环境中进行调试,也无需在 BUG 查找的时候就寻求相关部门的配合。

· 启用该功能,请将 Enable automatic responses 打勾。

· Permit passthrough for unmatched requests 表示容许未匹配到的请求正常响应。应该打勾才能让其余的请求继续;不然其余未匹配到的请求都会以 404 状态返回。

· 页签中间是一个列表,显示当前建立的匹配规则,左侧是匹配的条件,右侧是响应的结果。即:若是请求的地址包含左侧的字符串,那么就用右边设定的资源来替换来自服务器的响应。用 + 和 - 两个按键能够调整当前选择规则在列表中的位置。

· 页签底部是一个规则编辑器,能够进行编辑当前用户选择的匹配规则、保存编辑、删除此匹配规则等操做。

 

第一个 Combox 是匹配的条件,能够自行输入字符串,也能够选择 Fiddler 内置的三个正则(都是匹配图片的,没什么用)。Fiddler 支持几种匹配模式:

  1. String Literals —— 字符匹配

    这种模式将匹配指定的字符串,不存在大小写敏感。范例:

    *
    通配符,匹配任何地址,如: http://www.example.com/Path1/query=example
    EXAMPLE
    匹配 http://www.example.com/Path1/query=example
    path1/
    匹配 http://www.example.com/Path1/query=example
    query
    匹配 http://www.example.com/Path1/q=Query
  2. Exact Match —— 精确匹配

    这种模式一 EXACT: 开头,将严格匹配字符串,包括大小写。范例:

    EXACT:http://www.example.com/path
    匹配 http://www.example.com/path
    不匹配 http://www.example.com/Path(大小写不符)
    不匹配 http://www.example.com/path/q=Query(有多余字符串)
  3. Regular Expressions —— 正则表达式

    这种模式一 regex: 开头,使用正则表达式来匹配 session 的 URL。范例:

    regex:.*
    通配符,匹配任何地址,如 http://www.example.com/Path1/query=example

    regex:.*\.jpg —— 匹配包含 .JPG 的 URL
    匹配 http://www.example.com/Path1/query=foo.jpg&bar
    匹配 http://www.example.com/Path1/query=example.jpg

    regex:.*\.jpg$ —— 匹配 .jpg 结束的 URL
    不匹配 http://www.example.com/Path1/query=foo.jpg&bar(不是 .jpg 结尾)
    匹配 http://www.example.com/Path1/query=example.jpg

    regex:.*\.(jpg|gif|bmp)$ —— 匹配 .jpg 或 .gif 或 .bmp 结束的 URL
    不匹配 http://www.example.com/Path1/query=foo.bmp&bar(不是 .bmp 结尾)
    匹配 http://www.example.com/Path1/query=example.gif
    不匹配 http://www.example.com/Path1/query=example.Gif (是 .gif 结尾,但大小写不匹配)
    匹配 http://www.example.com/Path1/query=example.bmp

    regex:(?insx).*\.(jpg|gif|bmp)$ —— 匹配 .jpg 或 .gif 或 .bmp 结束的 URL,忽略大小写
    不匹配 http://www.example.com/Path1/query=foo.bmp&bar(不是 .bmp 结尾)
    匹配 http://www.example.com/Path1/query=example.gif
    匹配 http://www.example.com/Path1/query=example.Gif
    匹配 http://www.example.com/Path1/query=example.bmp

 

最后一个正则中的 ?insx 是正则表达式的语法,其中各字母的含义以下(详见:正则表达式选项):

  • i —— 指定不区分大小写的匹配
  • m —— 指定多行模式。更改 ^ 和 $ 的含义,以使它们分别与任何行的开头和结尾匹配,而不仅是与整个字符串的开头和结尾匹配。
  • n —— 指定惟一有效的捕获是显式命名或编号的 (?<name>…) 形式的组。这容许圆括号充当非捕获组,从而避免了由 (?:…) 致使的语法上的笨拙。
  • s —— 指定单行模式。更改句点字符 (.) 的含义,以使它与每一个字符(而不是除 \n 以外的全部字符)匹配。
  • x —— 指定从模式中排除非转义空白并启用数字符号 (#) 后面的注释。(有关转义空白字符的列表,请参见字符转义。)请注意,空白永远不会从字符类中消除。

 

第二个 Combox 是响应的结果,能够选择:Fiddler 内置的 HTTP 200/204/302/303/304/307/401/403/404/407/502 等各类响应范例、*bpu 和 *bpafter( 表示在此中断,关于 bpu 和 bpfater 见 QuickExec 命令参考)、本地文件 (Find a file...)。

Save 按钮是保存对此匹配规则的修改,Remove 按钮是删除此匹配规则。

增长匹配规则

1.点击 Add... 按钮,新增一条规则。

此时会激活页签底部的 Rule Editor。若是你在 Web Sessions 面板里选择了一个 Session,则匹配规则是该 Session 的 URL,不然是 StringtoMatch[数字]。而后可使用 Rule Editor 编辑它。

2.点击 Import... 按钮,导入在 Web Sessions 中保存下来的压缩包 (*.saz)。

3.在 Web Sessions 面板中选择你要捕获的请求,直接拖拽到 AutoResponder 的列表中

Filters 页签

Fiddler 的过滤器功能至关的强大,见下图:

下面咱们一一加以说明:

  1. HOST —— HOST 过滤规则

    你能够在文本框中输入多个 HOST,多个以前用半角逗号或者回车分隔。

    1. - No Host Filter - —— 无 HOST 过滤
    2. Hide the following Hosts —— 隐藏以下 HOST
    3. Show only the following Hosts —— 只显示以下 HOST
    4. Flag the following Hosts —— 加粗显示以下 HOST
    Client Process —— 客户端进程过滤规则

    1. Show only traffic from —— 你能够指定只捕获哪一个 Windows 进程中的请求,右侧会列出当前全部的 Windows 进程
    2. Show only Internet Explorer traffic —— 只显示 IE 发出的请求
    3. Hide Windows RSS platform traffic —— 隐藏 Windows RSS 平台发出的请求
    Breakpoints —— 断点设置规则
    1. Break request on HTTP POST —— 给全部 POST 请求设置断点
    2. Break request on HTTP GET with QueryString —— 给全部带参数的 GET 请求设置断点
    3. Break response on Content-Type —— 给特定的 Content-Type 设定断点
    Response Status Code —— 响应 HTTP 状态过滤规则
    1. Hide success(202,204,206) —— 隐藏响应成功的 session (202,204,206)
    2. Hide Authentication demands(401) —— 隐藏未经受权被拒绝的 session (401)
    3. Hide redirects(300,301,302,303,307) —— 隐藏重定向的 session (300,301,302,303,307)
    4. Hide Not Modified(304) —— 隐藏无变动的 session (304)
    Response Type and Size —— 响应类型和大小过滤规则

     

    1. 设定响应类型过滤规则

      · Show all Content-Types —— 显示全部响应类型

      · Show only IMAGE/* —— 只显示图片

      · Show only HTML —— 只显示 HTML

      · Show only TEXT/CSS —— 只显示 CSS

      · Show only SCRIPTS —— 只显示脚本

      · Hide IMAGE/* —— 隐藏全部图片

    2. Ignore smaller than ? KB —— 忽略小于指定大小的 session
    3. Ignore larger than ? KB —— 忽略大于指定大小的 session
    4. Block script files —— 阻止脚本文件,显示为 404
    5. Block image files —— 阻止图片文件
    6. Block SWF files —— 阻止 SWF 文件
    7. Block CSS files —— 阻止 CSS 文件
    Request Headers —— 请求 header 过滤规则
    1. Flag requests with header —— 标记带有特定 header 的请求
    2. Delete request header —— 删除请求 header
    3. Set request header —— 设置请求的 header
    Response Headers —— 响应 header 过滤规则
    1. Flag responses that set cookies —— 标记会设置 cookie 的响应
    2. Flag responses with header —— 标记带有特定 header 的响应
    3. Delete responses header —— 删除响应 header
    4. Set responses header —— 设置响应的 header
  2. Keep only the most recent ? sessions. —— 只保留最新的指定数量的 session  

Timeline 页签

完整页签以下图:

 

此列表显示在 Web Sessions 面板中选择的 session 请求到响应的时间表。横向是时间轴,以秒为单位;纵向是选择的 session 列表。

鼠标移到 Timeline 页签的某一 session 上,在 Timeline 页签底部会显示四个数据:

· Session 编号和 URL

· Session 的响应类型

· 发送的字节数

· 接收的字节数

 

QuickExec 命令行

QuickExec 命令行以下图:

QuickExec 命令行容许你快速执行脚本命令,在 Fiddler 中使用快捷键 Alt + Q 能够快速将焦点设置到命令行。

若是当前在 Web Sessions 面板选择了一个 Session,可使用快捷键 Ctrl + I 快速将 Session URL 直接插入到命令行当前光标处。

默认命令参考

如下列表中的命令只能确保在最新版本的 Fiddler 中才生效。

多数命令是存在本地 CustomRules.js 文件中,若是不是最新版 Fiddler,可能没有最新的命令。若是要获得最新的命令,要么删除你的 CustomRules.js,要么复制 SampleRules.js 的 ExecAction 到 CustomRules.js 中。

    1. ?sometext

      Fiddler 会高亮全部 URL 匹配问号后的字符的所有 session。按回车聚焦到匹配的 session 上。

      范例:

      ?searchtext
    2. >size

      选择响应尺寸大于指定大小的所有 session。按回车聚焦到匹配的 session 上。

      范例:

      >40000 (选择响应大于 40kb 的请求)
    3. <size

      选择响应尺寸大于指定大小的所有 session。按回车聚焦到匹配的 session 上。

      范例:

      <5k (选择响应小于 5kb 的请求)
    4. =status

      选择响应 HTTP 状态等于指定值的所有 session。按回车聚焦到匹配的 session 上。

      范例:

      =301 (选择 301 重定向的请求)
    5. @host

      选择包含指定 HOST 的所有 session。按回车聚焦到匹配的 session 上。

      范例:

      @msn.com (选择 www.msn.com、login.msn.com 等 session)
    6. bold sometext

      加粗显示 URL 包含指定字符的所有 session。

      范例:

      bold test.php (加粗显示 URL 中包含 test.php 的 Session

      bold (不带参数表示清空全部加粗显示的 Session)
    7. bpafter sometext

      中断 URL 包含指定字符的所有 session 响应。

      范例:

      bpafter test.php (中断 URL 中包含 test.php 的 Session

      bpafter (不带参数表示清空全部设置断点的 Session)
    8. bps

      中断 HTTP 响应状态为指定字符的所有 session 响应。

      范例:

      bps 404 (中断全部响应 404 的 Session

      bps (不带参数表示清空全部设置断点的 Session)
    9. bpvbpm

      中断指定请求方式的所有 session 响应。

      范例:

      bpv POST (中断全部 POST 请求的 Session

      bpv (不带参数表示清空全部设置断点的 Session)
    10. bpu

      中断请求 URL 中包含指定字符的所有 session 响应。

      范例:

      bpu test.php (中断全部请求 URL 中包含指定字符的 Session

      bpu (不带参数表示清空全部设置断点的 Session)
    11. clsclear

      清除全部 session

      范例:

      cls
    12. dump

      将全部 session 打包到 C 盘根目录下的一个 zip 压缩包中

      范例:

      dump
    13. ggo

      继续全部中断的 Session

      范例:

      g
    14. help

      用 IE 打开 QuickExec 在线帮助页

      范例:

      help
    15. hide

      将 Fiddler 隐藏到任务栏图标中

      范例:

      hide
    16. urlreplace

      将 URL 中的字符串替换成特定的字符串

      范例:

      urlreplace SeekStr ReplaceWithStr

      urlreplace (不带参数表示清空全部以前的设置)
    17. start

      将 Fiddler 为系统代理

      范例:

      start
    18. stop

      将 Fiddler 从系统代理注销

      范例:

      stop
    19. show

      将 Fiddler 从任务栏图标恢复为图形界面,此命令在命令行工具 ExecAction.exe 中使用

      范例:

      show
    20. slect

      选择响应类型 (Content-Type) 为指定字符的全部 session

      范例:

      slect image

      slect css

      select htm
    21. allbutkeeponly

      选择响应类型 (Content-Type) 不是指定字符的全部 session

      范例:

      allbut xml

      allbut java
    22. quit

      退出 Fiddler

      范例:

      quit
    23. Fiddler2 状态栏

      完整状态栏以下图:

      此列表显示全部 HTTP 请求的相关信息,从左到右各列分别表明:

      1. 第一区块,显示的 Fiddler 是否处于捕捉状态,(开启状态)、(关闭状态),能够用快捷键 F12 切换或者点击该区域。
      2. 第二区块,显示当前捕捉哪些进程的通信。前提是被捕获的进程必须使用 HTTP 代理:127.0.0.1:8888
        • All Processes —— 捕获全部进程的请求
        • Web Browsers —— 捕获 Web 浏览器的请求,应该特指 IE
        • Non-Browser —— 捕获非 Web 浏览器的请求
        • Hide All —— 隐藏全部请求
      3. 第三区块,显示当前断点设置状态,经过鼠标点击切换。能够有三种:
        • —— 不设置断点
        • —— 全部请求在断点处被暂停
        • —— 全部响应在断点处被暂停
      4. 第四区块,显示当前共捕获了多少 session(如:300,表示共捕获了 300 个)。

        若是选择了 session,会显示共选择了多少 session 及 session 总数(如:10/300,表示当前选择 10 个 session,共 300 个 session)。

      5. 第五区块,描述当前状态。

        若是是刚打开 Fiddler,会显示什么时间加载了 CustomRules.js;若是选择了一个 Session,会显示该 Session 的 URL;若是在 QuickExec 命令行输入一个命令,就会显示命令相关信息。

 

Fiddler2 选项

Fiddler2 选项对话框,共有五个选项卡:

    1. General —— 常规

此选项卡显示 Fiddler 的常规设置:

 

            • Check for updates on startup —— 程序启动时查找更新
            • Reuse connections to servers(improved performance) —— 重用到服务器的链接(提升性能)
            • Reuse client connections(improved performance) —— 重用客户端的链接(提升性能)
            • Show a message when HTTP protocol violations encountered —— 违背 HTTP 协议的时候显示消息提示
            • Allow remote computers to connect —— 容许远程电脑链接
            • Enable IPv6(if available) —— 启用 IPv6(若是可用)
            • Map socket to originating application —— 映射 socket 链接到原程序
            • Encrypt use AES256 when saving password-protected SAZ files(slow) —— 保存受密码保护的 session 到 SAZ(Session Archive ZIP) 文件时候使用 AES256 算法加密(很慢)
            • Automatically stream audio & video —— 音频和视频自动使用流模式
            • Fiddler 的 Windows 全局热键 —— 默认是 Ctrl + Alt + F,你能够设置成 Win + 任意键、Ctrl + Alt + 任意键、Ctrl + Shift + 任意键的组合
      1. HTTPS —— HTTPS 设置

        此选项卡显示 Fiddler 的 HTTPS 设置:

            • Capture HTTPS CONNECTs —— 捕获 HTTPS 链接
            • Decrypt HTTPS traffic —— HTTPS 请求解密
            • Ignore server certficate errors —— 忽略服务器端验证错误
            • Show data from RPASpy —— 显示来自 RPASpy 的数据(RPASpy 是 Fiddler 1.3 中用于查看 HTTPS 请求和响应 header 的插件,Fiddler2 已经集成了 RPASpy)
      2. Extensions —— 扩展

        此选项卡显示 Fiddler 的扩展设置:

            • Automatically reload script when changed —— 脚本发生变化时自动重载
            • Editor —— 脚本的编辑器
            • References —— 扩展所链接到的 dll 文件
            • Extensions —— 已经安装的扩展列表
            • Find more extensions... —— Fiddler 在线扩展列表页
      3. Connections —— 链接

         

        任何一款能够设置 HTTP 代理的软件均可以使用 Fiddler。请先确保主菜单 File -> Capture Traffic 功能开启了。此选项卡显示 Fiddler 的链接设置:

            • Act as system proxy on startup —— 脚本发生变化时自动重载
            • Chain to upstream gateway proxy —— 链到上行数据流网关代理
            • Show Gateway Info —— 显示上行数据流网关设置信息
            • Fiddler listens on port: —— Fiddler 监听的端口
            • Copy Browser Proxy Configuration URL —— 复制 Fiddler 本地代理配置文件 URL
            • IE showld bypass Fiddler for URLs that start with: —— 若是 URL 地址如下列地址开头,IE 会绕过 Fiddler
            • WinINET Connections —— WinINET 链接
            • Monitor all connections —— 监听全部链接
            • 链接列表
      4. Appearance —— 外观

         

        此选项卡显示 Fiddler 的外观设置:

            • Font size —— Web Sessions 面板字号选择,单位:磅
            • Hide Fiddler when minimized —— 最小化时隐藏 Fiddler
            • Use SmartScroll in Session List —— Session 列表使用智能滚动
            • Reset Session ID counter on Ctrl + X —— 按下 Ctrl + X 的时候自动重算 session ID
            • Show Fiddler Toolbar —— 显示 Fiddler 工具栏 
相关文章
相关标签/搜索