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 image 2. select css 3. 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 ReplaceWithStr 2,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 localhost 3,!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的重头戏-各种配置和操作技巧。各位小伙伴或者童鞋们敬请期待,千万不要错过哦!