1.简介

Fiddler 成了网页调试必备的工具,抓包看数据。Fiddler 自带命令行控制,并提供以下用法。Fiddler 的快捷命令框让你快速的输入脚本命令。

除了输入默认命令,也可以自定义命令,你可以通过编辑 FiddlerScript 来增加新命令,找到 OnExecAction 函数增加新命令。多数命令是存在本地 CustomRules.js 文件中,如果不是最新版 Fiddler,可能没有最新的命令。如果要得到最新的命令,要么删除你的 CustomRules.js,要么复制 SampleRules.js 的 ExecAction 到 CustomRules.js 中。

2.官网使用教程

在 fiddler 官网有 QuickExec 使用教程,地址是:http://docs.telerik.com/fiddler/knowledgebase/quickexec

3.QuickExec 命令行窗口概览

QuickExec 命令行窗口位于 Fiddler 左下角黑色输入框,如下图所示:

4.键盘快捷键

1.在 Fiddler 中使用快捷键 Alt + Q 可以快速将焦点定位到 QuickExec 命令行

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

3.如果 Fiddler 没有激活,按 Ctrl+Alt+F 首先 激活 Fiddler

5.命令列表

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

命令 含义 栗子
筛选高亮类
= 高亮 = 号后面的状态码和请求方式 session 1,=post :然后点击 enter 键回车,可以看到所有的 post 请求都是以蓝色的底色显示 2,=200 :也可以用这个方法迅速找出响应代码的,=200 =404 等情况
? 高亮 ? 号后面的字符 session,文本搜索功能,使用 Ctrl + F 和 工具栏中的 Find 按钮都可以对 session 中的字符进行搜索 ? 关键字 例如:?baidu
>size 高亮响应大于或小于指定的 session 1,>50000 直接接数字就可以了,表示选择响应大于 50kb 的请求 2,<5k 表示选择响应小于 5kb 的请求
@host 高亮包含指定 host 的 session @google.com
断点类
bpu 指定 URL 字符请求断点 1,bpu /myservice.asmx(中断所有请求 URL 中包含指定字符的 session)2,bpu(不带参数表示清空所有设置断点的 session)
bpafter 指定 URL 字符响应断点,中断 URL 包含指定字符的全部 session 响应 1,bpafter google (中断所有带 google 请求的返回值) 2,bpafter(不带参数表示清空所有设置的断点)
bps 指定状态码响应断点 1,bps 404(表示中断所有响应 404 的 session)2,bps(不带参数表示清空所有设置的断点 session)
bpv or bpm 指定请求方式响应断点 1,bpv POST(中断所有 POST 请求的 session)2,bpv(不带参数表示清空所有设置断点的 session)
g or go 继续中断的断点,放行
select
select MIME 选择响应类型 (Content-Type) 为指定字符的所有 session 1. select image2. select css3. select htm
select HeaderOrFlag PartialValue 选择 Header 或 SessionFlag 中包含指定字符串内容的 session 1,select ui-comments slow(查找带 slow 的注释)2,select ui-bold *(如果号前面没有一个斜杠进行转义,则意味着任何值)3,select ui-comments *(查找带一个号的注释)4,select @Request.Accept html(查找 request 包含 html 的 session)5,select @Response.Set-Cookie domain(在所有 Session 的 Response 中,查找 name 为 Set-Cookie 值为域名如 baidu.com 的 Session)
其他
PREFS SET 设置详情页自动定位 tab,定位 request/response 在特定的 tab 上,用于在很多条 session 中,查看每条 session,都右侧的详情数据页面都会自动定位到我们需要的 tab 上面,不用每条单独操作 1,PREFS SET fiddler.ui.inspectors.response.alwaysuse “json” :查看任何 session,Response tab 被自动定位到 JSON 上 2,PREFS SET fiddler.ui.inspectors.request.alwaysuse “webforms” :查看任何 session 的 resquest 默认显示在 webforms 的 tab 上
allbut or keeponly 筛选非,选择响应类型 (Content-Type) 不是指定字符的所有 session 1,allbut xml(只显示所有 Content-Type 为非 xml 的 session 项)2,allbut java
bold 加粗指定字符的 session 1, bold 关键字 例如:bold google,回车后,需要重新请求一次,就可以看见加粗了 2,状态栏,显示着:Bolding request for baidu 表示正在加粗。菜单栏中的 Tool > Rest Script 可以重置加粗状态 3,bold(不带参数表示清空所有加粗显示的 session)
cls or clear 清除所有 session
start 将 Fiddler 设为系统代理
stop 将 Fiddler 从系统代理注销
dump 打包 session 到 zip 压缩包中 将所有 session 打包到 C 盘根目录下(C:\)的一个 zip 压缩包中
urlreplace 替换 URL 中的字符串 将 URL 中的字符串替换成特定的字符串 1,urlreplace SeekStr ReplaceWithStr2,urlreplace(不带参数表示清空所有之前的设置)
help 打开 QuickExec 在线帮助页 就是这个网址:http://docs.telerik.com/fiddler/knowledgebase/quickexec
hide 将 Fiddler 隐藏到任务栏图标中
show Fiddler 从任务栏图标恢复为图形界面 此命令在命令行工具 ExecAction.exe 中使用
quit 退出 Fiddler
! dns 输出 IP 地址 对目标主机执行 DNS 查找,并在 LOG 选项卡上显示结果 1,! dns www.baidu.com(将 www.baidu.com 对应的 IP 地址解析并输出)2,! nslookup www.baidu.com(作用和上面这个一样)
! listen 监听多个端口号 在另一个端口上设置一个额外的监听器,可选由 HTTPS 证书保护 1,! listen 8889(同时截获通过 8080 端口的网络请求。)2,! listen 4443 localhost3,! listen 444 secure.example.com

6.自定义命令

你可以通过编辑你的 FiddlerScript 来增加新命令。找到 OnExecAction 函数增加新命令。编辑方式:

1.主菜单 Rules -> Customize Rules… 如下图所示:

2.安装插件 Syntax-Highlighting Addons(右键另存为),安装后会增加一个 FiddlerScript 页签,在这里可以直接编辑保存。(这个是针对低版本的 Fiddler,最新的都自带了。)如下图所示:

3.如果安装了此插件,主菜单的菜单项也会使用 Fiddler 脚本编辑器打开。如下图所示:

4.安装了此插件后,Inspectors 页签的响应部分也会增加一个 SyntaxView,用于高亮显示响应的 body。如下图所示:

7.默认命令

为什么输入默认命令,会有作用,这因为 Fiddler 已经定义好了,在 OnExecAction 函数中,如下图所示:

8.小结

到此对 Fiddler 做一些界面的介绍基本上就差不多了,当然了宏哥没有介绍到的你遇到了自己可以看资料查一下,接下来宏哥将会讲解和分享 Fiddler 的重头戏 - 各种配置和操作技巧。各位小伙伴或者童鞋们敬请期待,千万不要错过哦!


↙↙↙阅读原文可查看相关链接,并与作者交流