Fiddler(四) 界面及功能介绍(二)

1,121 阅读6分钟

Session List会话列表

组成部分

  • Fiddler抓取到的每条http请求(每一条称为一个session)

image.png

  • 主要包含了请求的ID编号、状态码、协议、主机名、URL、内容类型、body大小、进程信息、自定义备注等信息

image.png

更改自定义用户脚本,可以完成例如增加ip列的操作,要重启fiddler才会生效

自定义方式可以查看:juejin.cn/post/713324…

  • 第一步
    image.png
  • 第二步
    image.png

列可以拖动列名更改排布位置

表头可以做排序,点击表头即可根据该表头的字段升序降序排序

image-20210807132924908

图标含义
image.png 请求已经发往服务器
image.png 已从服务器下载响应结果
image.png 请求从断点处暂停
image.png 响应从断点处暂停
image.png 请求使用 HTTP 的 HEAD 方法,即响应没有内容(Body)
image.png 请求使用 HTTP 的 POST 方法
image.png 请求使用 HTTP 的 CONNECT 方法,使用 HTTPS 协议建立连接隧道
image.png 响应是 HTML 格式
image.png 响应是一张图片
image.png 响应是脚本格式
image.png 响应是 CSS 格式
image.png 响应是 XML 格式
image.png 响应是 JSON 格式
image.png响应是一个音频文件
image.png 响应是一个视频文件
image.png 响应是一个 SilverLight
image.png 响应是一个 FLASH
image.png响应是一个字体
image.png 普通响应成功
image.png 响应是 HTTP/300、301、302、303 或 307 重定向
image.png 响应是 HTTP/304(无变更):使用缓存文件
image.png 响应需要客户端证书验证
image.png 服务端错误
image.png 会话被客户端、Fiddler 或者服务端终止

命令行

image-20210807134607308

输入help进入官方文档查询

常用命令

  • ?sometext
    • Fiddler 会高亮所有 URL 匹配问号后的字符的全部 session。按回车聚焦到匹配的 session 上。 -示例:?searchtext
  • >size
    • 选择响应尺寸大于指定大小的全部 session。按回车聚焦到匹配的 session 上。
    • 示例:>40000 (选择响应大于 40kb 的请求)
  • <size
    • 选择响应尺寸大于指定大小的全部 session。按回车聚焦到匹配的 session 上。
    • 示例:<5k (选择响应小于 5kb 的请求)
  • =status
    • 选择响应 HTTP 状态等于指定值的全部 session。按回车聚焦到匹配的 session 上。
    • 示例:=200 (选择 请求成功的请求)
  • @host
    • 选择包含指定 HOST 的全部 session。按回车聚焦到匹配的 session 上。
    • 示例:@msn.com (选择 www.msn.com、login.msn.com 等 session)
  • bold sometext
    • 加粗显示 URL 包含指定字符的全部 session。
    • 示例:bold test.php (加粗显示 URL 中包含 test.php 的 Session
    • bold (不带参数表示清空所有加粗显示的 Session)
  • bpafter sometext
    • 中断 URL 包含指定字符的全部 session 响应。
    • 示例:bpafter test.php (中断 URL 中包含 test.php 的 Session
    • bpafter (不带参数表示清空所有设置断点的 Session)
  • bps
    • 中断 HTTP 响应状态为指定字符的全部 session 响应。
    • 示例:bps 404 (中断所有响应 404 的 Session
    • bps (不带参数表示清空所有设置断点的 Session)
  • bpv 或 bpm
    • 中断指定请求方式的全部 session 响应。
    • 示例:
    • bpv POST (中断所有 POST 请求的 Session
    • bpv (不带参数表示清空所有设置断点的 Session)
  • bpu
    • 中断请求 URL 中包含指定字符的全部 session 响应。
    • 示例:
    • bpu test.php (中断所有请求 URL 中包含指定字符的 Session)
    • bpu (不带参数表示清空所有设置断点的 Session)

(下面的两种方式都可以用来继续断点请求)

image-20210807134135174

  • cls 或 clear
    • 清除所有 session
    • 示例:cls
  • dump
    • 将所有 session 打包到 C 盘根目录下的一个 zip 压缩包中
    • 示例:dump
  • g 或 go
    • 继续所有中断的 Session
    • 示例:g
  • help
    • 用 IE 打开 QuickExec 在线帮助页
    • 示例:help
  • hide
    • 将 Fiddler 隐藏到任务栏图标中
    • 示例:hide
  • urlreplace
    • 将 URL 中的字符串替换成特定的字符串
    • 示例:
    • urlreplace SeekStr ReplaceWithStr
    • urlreplace (不带参数表示清空所有之前的设置)
  • start
    • 将 Fiddler 为系统代理
    • 示例:start
  • stop
    • 将 Fiddler 从系统代理注销
    • 示例:stop
  • show
    • 将 Fiddler 从任务栏图标恢复为图形界面,此命令在命令行工具ExecAction.exe 中使用
    • 示例:show
  • slect
    • 选择响应类型 (Content-Type) 为指定字符的所有 session
    • 示例:
    • slect image
    • slect css
    • select htm
  • allbut 或 keeponly
    • 选择响应类型 (Content-Type) 不是指定字符的所有 session
    • 示例:
    • allbut xml
    • allbut java
  • quit
    • 退出 Fiddler
    • 示例:quit

状态栏

image-20210807134758475

代理状态

image-20210807134836372显示的 Fiddler 是否处于系统代理状态,(有capture表示开启状态,点击清除图标取消代理),可以用快捷键 F12 切换或者点击该区域。

会话选择

image-20210807135135617
All Processes —— 捕获所有进程的请求
Web Browsers —— 捕获 Web 浏览器的请求,应该特指 IE
Non-Browser —— 捕获非 Web 浏览器的请求
Hide All —— 隐藏所有请求

断点设置

显示当前断点设置状态,通过鼠标点击切换。可以有三种:\

  • 不设置断点

image-20210807135235561

  • 所有请求在断点处被暂停

image-20210807135251397\

  • 所有响应在断点处被暂停

image-20210807135304372

选择Session数

image-20210807135601541显示共选择了多少 session 及 session 总数(如图所示选择 了2 个 session,共 77 个session)。

附加信息

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

辅助标签加工具

image-20210807154722756

Statistics-统计分析

image-20210807154758977

Http或Https请求的性能和其他数据分析,如DNS解析时间,TCP/TP建立连接的时间(TCP三次握手的时间)、SSL连接的时间(针对https请求)等信息。

Inspectors-检查器(重点)

image-20210807155245251

直接可以双击会话打开检查器,或选择会话后点击检查器。

以不同的形式展示请求或部分请求报文、响应或部分响应报文。

请求部分

image-20210807155515743

  • Headers:显示客户端发送到服务器的 HTTP 请求的 header,显示为一个分级视图,包含了 Web 客户端信息、Cookie、传输状态
  • TextView:显示 POST 请求的body部分为文本
  • SyntaxView:语法的格式
  • WebForms:显示请求的 GET 参数 和 POST body 内容,特别说明,这里的QueryString为url后接的内容;这里 body 为是 application/x-www-form-urlen-coded 格式。(form表单post请求默认是这种查看方式)

image-20210808125356660

  • HexView: 用十六进制数据显示请求
  • Auth :显示 header 中的 Proxy-Authorization 和 Authorization 信息
  • Cookies:显示请求的cookie信息
  • Raw:原生的纯文本(用的较多)
  • XML:如果请求的 body 是 XML 格式,就是用分级的 XML 树来显示它

响应部分

image-20210807160209814

  • Transformer :显示响应的编码信息
  • Headers :用分级视图显示响应的 header
  • TextView : 使用文本显示相应的 body
  • SyntaxView: javaScript 语法视图(相较text有高光)
  • ImageVies :如果请求是图片资源,显示响应的图片
  • HexView : 用十六进制数据显示响应
  • WebView :响应在 Web 浏览器中的预览效果
  • Auth:显示响应 header 中的 Proxy-Authorization 和 Authorization 信息
  • Caching : 显示此请求的缓存信息
  • Cookies:显示返回的cookie信息
  • Raw:原生的纯文本(用的较多)
  • JSON:返回的响应内容如果是一个json格式的,这里会显示
  • XML:如果相应的 body 是 XML 格式,就是用分级的 XML 树来显示它

AutoResponder-自动响应器

  • 可用于拦截某一请求,进行如下操作:
    • 重定向到本地的资源
    • 使用Fiddler的内置响应
    • 自定义响应

具体操作步骤
1、在AutoResponder面板下,点击img,单击选择需要拦截的请求,复制请求的URL(请求右键 >> Copy >> Just Url);粘贴至右侧面板Rule Editor(或者左键按住,并拖动需要请求的url到右侧面板,此时url自动填充在Rule Editor处;或者直接去网页复制相应图片位置等)

image-20210808130820827 2、设置响应的内容,可以选择Fiddler的内置响应或者是重定向至用户本地文件(或者点击规则,鼠标右键,选择Edit Response,进行自定义响应)

3、同时选中 Enable rules(使用规则)和 Unmatched requests passthrough(放行未匹配的请求)。 image-20210808131322662

image-20210808131747912

Composer-设计器

设计请求,修改请求参数,进行简单的接口测试。具体操作:鼠标左键拖动请求的url至右侧Composer面板处,请求信息会自动填充,修改请求参数,点击Execute。(接口测试,举例后端未作数据校验 )

Scratchpad多个请求,三击选中指定位置的请求。 image-20210808200135611

Filters-过滤器

作用:忽略不想显示的请求,过滤出想要的请求,是一个多维度的过滤器。过滤器要起作用,必须选中Use Filters ,不用的时候记得关闭,防止出现抓不到包的情况。具体功能如下:

img

Hosts 主机

域过滤
  • Show only Intranet Hosts:仅显示局域网的请求
  • Show only Internet Hosts:仅显示广域网的请求
  • No Zone Filter:无域限制(默认)

image-20210808201302998

主机过滤
  • No Host Filter:无主机限制(默认)
  • Hide the following Hosts:隐藏输入到下面文本框的主机(域名或者IP)的请求(可以选择请求,单击右键,Copy >> This Column 的方式复制请求的主机)
  • Show only the following Hosts:仅显示输入到下面文本框的主机(域名或者IP)的请求
  • Flag the following Hosts:含有下面文本框的主机(域名或者IP)的请求做标记(即加粗显示)

image-20210808201347669

Client Process 客户端进程

  • Show only traffic from:仅显示某一进程的请求
  • Show only Internet Explorer traffic:仅显示IE浏览器发出的请求
  • Hide traffic from Service Host:隐藏来自service host(即由svchost.exe进程)发出的请求

Request Headers 请求头

  • Show only if URL contains:仅显示url中包含输入的字符串的请求
  • Hide if URL contains:隐藏url中包含输入的字符串的请求
  • Flag requests with headers:标记请求头中有指定内容的请求
  • Delete request headers:删除请求头中的指定内容
  • Set request header:设置请求头中添加指定的内容

Breakpoints 断点

  • Break request on POST:在POST请求中设置断点(请求前设置断点)
  • Break request on GET with query string:在带有请求参数的GET请求中设置断点(请求前设置断点)
  • Break on XMLHTTpRequest:在ajax请求中设置断点(请求前设置断点)
  • Break response on Content-type:在响应中含有指定Content-type的请求中设置断点(响应后设置断点)

Response Status Code 响应状态码

  • Hide success(2xx):隐藏响应状态码为2XX的请求
  • Hide non-2xx:隐藏响应状态码非2xx的请求
  • Hide redirects(300, 301, 302, 303, 307):隐藏状态码为300、301、302、303、307的重定向请求
  • Hide Authentication demands(401,407):隐藏状态码为401,407的响应(需要用户确认证书的请求)
  • Hide Not Modified(304):隐藏状态码为304的响应

Response Type and Size 响应类型和大小

  • Show all Content-Types:显示任意响应类型的请求
  • Show only IMAGE/*:仅显示响应类型是图片的请求
  • Show only HTML:仅显示响应类型是html的请求
  • Show only TEXT/CSS:仅显示响应类型是text/css的请求
  • Show only SCRIPTS:仅显示响应类型是js脚本的请求
  • Show only XML:仅显示响应类型是xml的请求
  • Show only JSON:仅显示响应类型是json的请求
  • Hide IMAGE/*:隐藏响应类型是图片的请求
  • Hide smaller than KB:隐藏响应体小于指定字节数的响应
  • Hide larger than KB:隐藏响应体大于指定字节数的响应
  • Time HeatMap:根据响应时间给每个请求设置背景色。小于50ms绿色,50-300ms不着色,300-500ms黄色,大于500ms红色
  • Block scriptfiles:将响应类型为js脚本的请求,设置返回HTTP/404响应
  • Block image files:将响应类型为图片的请求,设置返回HTTP/404响应
  • Block SWF files:将响应类型为flash的请求,设置返回HTTP/404响应
  • Block CSS files:将响应类型为css的请求,设置返回HTTP/404响应

Response Headers 响应头

  • Flag responses that setcookies:将响应中设置了cookies的请求标记显示(斜体显示)
  • Flag responses with headers:将响应头中包含指定内容的请求标记显示(加粗显示)
  • Delete responseheaders:删除响应中指定的响应头
  • Set response header:将响应头中添加指定的内容