Fiddler 成了网页调试必备的工具,抓包看数据。Fiddler 自带命令行控制,并提供以下用法。Fiddler 的快捷命令框让你快速的输入脚本命令。
除了输入默认命令,也可以自定义命令,你可以通过编辑 FiddlerScript 来增加新命令,找到 OnExecAction 函数增加新命令。多数命令是存在本地 CustomRules.js 文件中,如果不是最新版 Fiddler,可能没有最新的命令。如果要得到最新的命令,要么删除你的 CustomRules.js,要么复制 SampleRules.js 的 ExecAction 到 CustomRules.js 中。
在 fiddler 官网有 QuickExec 使用教程,地址是:http://docs.telerik.com/fiddler/knowledgebase/quickexec
QuickExec 命令行窗口位于 Fiddler 左下角黑色输入框,如下图所示:
1.在 Fiddler 中使用快捷键 Alt + Q 可以快速将焦点定位到 QuickExec 命令行
2.如果当前在 Web Sessions 面板选择了一个 Session,可以使用快捷键 Ctrl + I 快速将 Session URL 直接插入到命令行当前光标处
3.如果 Fiddler 没有激活,按 Ctrl+Alt+F 首先 激活 Fiddler
以下列表中的命令只能确保在最新版本的 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 |
你可以通过编辑你的 FiddlerScript 来增加新命令。找到 OnExecAction 函数增加新命令。编辑方式:
1.主菜单 Rules -> Customize Rules… 如下图所示:
2.安装插件 Syntax-Highlighting Addons(右键另存为),安装后会增加一个 FiddlerScript 页签,在这里可以直接编辑保存。(这个是针对低版本的 Fiddler,最新的都自带了。)如下图所示:
3.如果安装了此插件,主菜单的菜单项也会使用 Fiddler 脚本编辑器打开。如下图所示:
4.安装了此插件后,Inspectors 页签的响应部分也会增加一个 SyntaxView,用于高亮显示响应的 body。如下图所示:
为什么输入默认命令,会有作用,这因为 Fiddler 已经定义好了,在 OnExecAction 函数中,如下图所示:
到此对 Fiddler 做一些界面的介绍基本上就差不多了,当然了宏哥没有介绍到的你遇到了自己可以看资料查一下,接下来宏哥将会讲解和分享 Fiddler 的重头戏 - 各种配置和操作技巧。各位小伙伴或者童鞋们敬请期待,千万不要错过哦!