fiddler的主界面
Session List会话列表
组成部分
- Fiddler抓取到的每条http请求(每一条称为一个session)
- 主要包含了请求的ID编号、状态码、协议、主机名、URL、内容类型、body大小、进程信息、自定义备注等信息
字段名 | 含义 |
---|---|
# | HTTP Request的顺序,从1开始,按解页面加载请求的顺序递增[Result]– |
Result | HTTP响应的状态码,可以参考我第一篇笔记。 |
Protocol | 请求使用的协议(如HTTP/HTTPS/FTP) |
Host | 请求地址的域名 |
URL | 请求的服务器路径和文件名,也包括GET参数 |
BODY | 请求的大小,以byte为单位 |
Caching | 请求的的缓存过期时间或缓存控制 header等值 |
Content-Type | 请求响应的类型(Content-Type) |
Process | 发出此请求的Windows进程及进程ID |
Commments | 用户通过脚本设置或者右键菜单给此session增加的备注 |
Custom | 用户可以通过脚本设置的自定义值 |
更改自定义用户脚本,可以完成例如增加ip列的操作,要重启fiddler才会生效。
列可以拖动列名更改排布位置
表头可以做排序,点击表头即可根据该表头的字段升序降序排序
命令行
输入help进入官方文档查询
常用命令
1、?sometext
Fiddler 会高亮所有 URL 匹配问号后的字符的全部 session。按回车聚焦到匹配的 session 上。
示例:?searchtext
2、>size
选择响应尺寸大于指定大小的全部 session。按回车聚焦到匹配的 session 上。
示例:>40000 (选择响应大于 40kb 的请求)
3、<size
选择响应尺寸大于指定大小的全部 session。按回车聚焦到匹配的 session 上。
示例:<5k (选择响应小于 5kb 的请求)
4、=status
选择响应 HTTP 状态等于指定值的全部 session。按回车聚焦到匹配的 session 上。
示例:=200 (选择 请求成功的请求)
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、bpv 或 bpm
中断指定请求方式的全部 session 响应。
示例:
bpv POST (中断所有 POST 请求的 Session
bpv (不带参数表示清空所有设置断点的 Session)
10、bpu
中断请求 URL 中包含指定字符的全部 session 响应。
示例:
bpu test.php (中断所有请求 URL 中包含指定字符的 Session)
bpu (不带参数表示清空所有设置断点的 Session)
(下面的两种方式都可以用来继续断点请求)
11、cls 或 clear
清除所有 session
示例:cls
12、dump
将所有 session 打包到 C 盘根目录下的一个 zip 压缩包中
示例:dump
13、g 或 go
继续所有中断的 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、allbut 或 keeponly
选择响应类型 (Content-Type) 不是指定字符的所有 session
示例:
allbut xml
allbut java
22、quit
退出 Fiddler
示例:quit
状态栏
代理状态
显示的 Fiddler 是否处于系统代理状态,(有capture表示开启状态,点击清除图标取消代理),可以用快捷键 F12 切换或者点击该区域。
会话选择
All Processes —— 捕获所有进程的请求
Web Browsers —— 捕获 Web 浏览器的请求,应该特指 IE
Non-Browser —— 捕获非 Web 浏览器的请求
Hide All —— 隐藏所有请求
断点设置
显示当前断点设置状态,通过鼠标点击切换。可以有三种:
—— 不设置断点
—— 所有请求在断点处被暂停
—— 所有响应在断点处被暂停
选择Session数
显示共选择了多少 session 及 session 总数(如图所示选择 了2 个 session,共 77 个session)。
附加信息
如果是刚打开 Fiddler,会显示什么时间加载了 CustomRules.js;如果选择了一个 Session,会显示该 Session 的 URL;如果在 QuickExec 命令行输入一个命令,就会显示命令相关信息。
辅助标签加工具
Statistics-统计分析
Http或Https请求的性能和其他数据分析,如DNS解析时间,TCP/TP建立连接的时间(TCP三次握手的时间)、SSL连接的时间(针对https请求)等信息。
Inspectors-检查器
直接可以双击会话打开检查器,或选择会话后点击检查器。
以不同的形式展示请求或部分请求报文、响应或部分响应报文。
请求部分
Headers:显示客户端发送到服务器的 HTTP 请求的 header,显示为一个分级视图,包含了 Web 客户端信息、Cookie、传输状态等
TextView:显示 POST 请求的 body 部分为文本
SyntaxView:语法的格式
WebForms:显示请求的 GET 参数 和 POST body 内容,特别说明,这里的QueryString为url后接的内容;这里 body 为是 application/x-www-form-urlen-coded 格式。(form表单post请求默认是这种查看方式)
HexView: 用十六进制数据显示请求
Auth :显示 header 中的 Proxy-Authorization 和 Authorization 信息
Cookies:显示请求的cookie信息
Raw:原生的纯文本(用的较多)
XML:如果请求的 body 是 XML 格式,就是用分级的 XML 树来显示它
响应部分
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面板下,点击,单击选择需要拦截的请求,复制请求的URL(请求右键 >> Copy >> Just Url);粘贴至右侧面板Rule Editor(或者左键按住,并拖动需要请求的url到右侧面板,此时url自动填充在Rule Editor处;或者直接去网页复制相应图片位置等)
2、设置响应的内容,可以选择Fiddler的内置响应或者是重定向至用户本地文件(或者点击规则,鼠标右键,选择Edit Response,进行自定义响应)
3、同时选中 Enable rules(使用规则)和 Unmatched requests passthrough(放行未匹配的请求)。
Composer-设计器
设计请求,修改请求参数,进行简单的接口测试。具体操作:鼠标左键拖动请求的url至右侧Composer面板处,请求信息会自动填充,修改请求参数,点击Execute。(接口测试,举例后端未作数据校验 )
Scratchpad多个请求,三击选中指定位置的请求。
Filters-过滤器
作用:忽略不想显示的请求,过滤出想要的请求,是一个多维度的过滤器。过滤器要起作用,必须选中Use Filters ,不用的时候记得关闭,防止出现抓不到包的情况。具体功能如下:
1、Hosts 主机
域过滤
- Show only Intranet Hosts:仅显示局域网的请求
- Show only Internet Hosts:仅显示广域网的请求
- No Zone Filter:无域限制(默认)
主机过滤
-
No Host Filter:无主机限制(默认)
-
Hide the following Hosts:隐藏输入到下面文本框的主机(域名或者IP)的请求(可以选择请求,单击右键,Copy >> This Column 的方式复制请求的主机)
-
Show only the following Hosts:仅显示输入到下面文本框的主机(域名或者IP)的请求
-
Flag the following Hosts:含有下面文本框的主机(域名或者IP)的请求做标记(即加粗显示)
2、Client Process 客户端进程
- Show only traffic from:仅显示某一进程的请求
- Show only Internet Explorer traffic:仅显示IE浏览器发出的请求
- Hide traffic from Service Host:隐藏来自service host(即由svchost.exe进程)发出的请求
3、Request Headers 请求头
- Show only if URL contains:仅显示url中包含输入的字符串的请求
- Hide if URL contains:隐藏url中包含输入的字符串的请求
- Flag requests with headers:标记请求头中有指定内容的请求
- Delete request headers:删除请求头中的指定内容
- Set request header:设置请求头中添加指定的内容
4、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的请求中设置断点(响应后设置断点)
5、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的响应
6、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响应
7、Response Headers 响应头
①、Flag responses that setcookies:将响应中设置了cookies的请求标记显示(斜体显示)
②、Flag responses with headers:将响应头中包含指定内容的请求标记显示(加粗显示)
③、Delete responseheaders:删除响应中指定的响应头
④、Set response header:将响应头中添加指定的内容