认识Fiddler
一、Fiddler界面介绍。(注:下图中的功能区面板显示的是“Inspectors”的选项卡界面)
二、工具栏介绍。
1、气泡:备注。添加之后在会话栏的Comment列中显示备注内容。
2、Replay:回放,经常使用。重播一个会话。快捷键:”选中会话+R”。
3、删除会话,用于过滤和清除请求。
4、断点调式。配合状态栏上的断点工具。功能类似Debug。
5、Stream:代理模式。默认:缓冲模式。点击进行切换。
6、Decode:解压请求。解压http请求里面的东西,帮助查看。
7、Keep:指示fiddler的保持会话数目。
8、Any Process:捕获请求,只看需要的请求。将“靶心”投向需要的请求。
9、Find:查找请求。用颜色标注查找的请求。
10、Save:保存会话。
11、截图:默认5秒后截图。
12、计时器:第一次点击-开始计时;第二次点击–返回计时结果;第三次点击-清零,重新计时。右键点击—不计时。
13、Browse:启动浏览器。
14、Clear Cache:清空缓存。
15、TextWizard:经常使用,展示编码、解码文本内容。
16、Tearoff:浮窗,也就是将会话栏和功能面板分离为两个窗口(如下图所示),将前面的功能面板关闭即可合并。
三、会话栏介绍。
各列含义:
1、[#]—— Http Request的顺序,从1开始,按照页面加载请求的顺序递增,点击可以重新排序。
2、[ Resuit]——HP响应的状态,可以参考这里。
3、[ Protocol]——请求使用的协议(如HTp/HTPs/FTP)。
4、[Host]——请求地址的域名。
5、[URL]——请求的服务器路径和文件名,也包括GET参数。
6、[BODY]——请求的大小,以byte为单位。
7、[ Caching]——请求的缓存过期时间或缓存控制 header等值。
8、[Content-Type]——请求响应的类型( Content-Type)。
9、[ Process]——发出此请求的 Windows进程及进程ID。
10、[ Comments]——用户通过脚本或者右键菜单给此 session增加的备注。
11、[ Custom]——用户可以通过脚本设置的自定义值。
其中 [#] 栏中的图片标识的含义:
会话栏中显示的列可以自定义:
1、添加(右键);2、隐藏/显示(右键);3、拖动排序;
比如添加一个请求方法的列,可以如下操作:在会话栏列名处右键后,选择“Customize columns...”选项,然后在弹窗中选择“Miscellaneous”和“RequestMethod”,点击“Add”后在列名中可以看到RequestMethod。
三、功能面板的选项卡介绍。
1、Statistics选项卡:显示HTTP请求的性能和其他数据。
2、Inspectors选项卡:提供headers、textview、hexview,Raw等多种方式查看单条http请求的请求报文的信息,分为上下两个部分,上半部分是请求部分,下半部分是响应部分。对于每一部分,都各自提供了多种不同格式以查看每个请求和响应的内容。
3、AutoResponder选项卡是Fiddler比较重要且比较强大的功能之一。可用于拦截某一请求,并重定向到本地的资源,或者使用Fiddler的内置响应。可用于调试服务器端代码而无需修改服务器端的代码和配置,因为拦截和重定向后,实际上访问的是本地的文件或者得到的是Fiddler的内置响应。
4、composer选项卡,用于前后端链接调试,可以模拟向相应的服务器发送数据的过程(不错,这就是灌水机器人的基本原理,也可以是部分http flood的一种方式)。
5、Filter选项卡,可以设置Fiddler的过滤规则,来达到过滤http请求的目的。最简单如:过滤内网http请求而只抓取internet的http请求,或则过滤相应域名的http请求。Fiddler的过滤器非常强大,可以过滤特定http状态码的请求,可以过滤特定请求类型的http请求(如css请求,image请求,js请求等),可以过滤请求报文大于或则小于指定大小(byte)的请求。
6、Timeline选项卡:用于 性能分析。对选择多个请求有意义。作用类似HttpWatch。
四、命令栏介绍。
常见的命令有:
- 全局命令===============================================================
- help命令: 打开官方的使用页面介绍,所有的命令都会列出来 。
- hide命令:隐藏Fiddler界面,系统后台运行
- quit命令:退出Fiddler
- show命令:将Fiddler从系统托盘中恢复,从ExecAction.exe获取更多有用的触发规则
- start命令:注册成为系统代理,开始监听请求
- stop命令:取消注册为系统代理,停止监听请求
- cls 或者clear命令: 清屏 (Ctrl+x 也可以清屏)
- dump命令:打包所有会话成zip归档文件并转存在C:\
- urlreplace命令:以一个不同的字符串替换URL中任何字符串。设置此命令将清除该命令的任何以前的值,不带参数调用它将取消更换,注:1、urlreplace SeekStr ReplaceWithStr;2、urlreplace //取消设置
- 筛选命令================================================================
- allbut 或者 keeponly命令:隐藏掉Content-Type头中除了包含指定字符串的所有会话,用于筛选,注:1、allbut html;2、allbut java
- select 命令:选择某种类型的响应,例如,输入 select image(还有css类型、html类型等)
- @host命令:选择会话中域名包含host的会话,此时按Enter键可高亮所有匹配的结果,如:@baidu.com //选择 www.baidu.com, map.baidu.com, 等等
- ?命令,例如“?.png” 用来选择png后缀的图片,“?qq”将选中host中含有“qq”字样的包并蓝色底标色
- =status命令、 =method命令,例如:输入“=post”将选择post的数据包并用蓝色底标色,输入“=502”将选择result是502的数据包并用蓝色底标色
- size >或者size < 命令:size>40000 //选择大小超过40kb的响应; size<5k //选择小于5kb的响应
- bold 命令:对带有某个字段的请求包字体加粗,取消加粗再次输入bold敲回车即可。如“bold baidu” 可以将百度的包加粗显示
- !dns hostname命令:进行目标域名的DNS查找,并将结果显示在LOG选项卡上,注:1、!dns www.baidu.com;2、!nslookup www.baidu.com)3Z~5L`[P${H(9G_DQV7_MS
- !listen PORT [CERTHOSTNAME]命令:在另一个端口增设一个监听器,选择安全的HTTPS证书。注:1、!listen 8889;2、!listen 4443 localhost;3、!listen 444 secure.example.com
- 断点命令===============================================================
- bpu 命令:对包含指定字符串的URI创建请求断点。设置此命令将清除该命令的任何以前的值,不带参数调用它会禁用断点,注:1、bpu /index.php;2、bpu //取消设置
- bpm 或者 bpv命令:对指定的HTTP方法创建请求断点。设置此命令将清除该命令的任何以前的值,不带参数调用它会禁用断点,注:1、bpm POST;2、bpv //取消设置
- bpafter命令:中断RequestURI中包含指定字符串的任何响应,取消再次输入bpafter敲回车即可。例如:1、bpafter /favicon.ico;2、bpafter //取消设置
- bps命令:中断与选择的状态代码匹配的响应,取消再次输入bps敲回车即可。例如:1、bps 404;2、bps //取消设置
- g 或者 go命令:恢复所有设置断点的会话
- ======================================================================
五、状态栏介绍。
1、Capturing:开启/关闭 fiddler的监听;
2、All Processes:过滤会话选择;
六、操作会话。
1、会话搜索,标记颜色;(注意汉字或者特殊字符可能查询不到,因为在HTTP请求中,汉字或者特殊字符被转义了)
也可以使用工具栏中的“查找”按钮来执行会话搜索的操作。
2、会话过滤;
Filter标签则可以设置Fiddler的过滤规则,来达到过滤http请求的目的。最简单如:过滤内网http请求而只抓取internet的http请求,或则过滤相应域名的http请求。Fiddler的过滤器非常强大,可以过滤特定http状态码的请求,可以过滤特定请求类型的http请求(如css请求,image请求,js请求等),可以过滤请求报文大于或则小于指定大小(byte)的请求。
3、会话筛选(父子关系和同类型)
4、标记会话;
选中会话,右键,选择 “Mark > 标记方式” 选项即可实现。效果图如下:
5、会话编辑和保存;
6、会话删除;
7、会话比较(比较两个会话的不同之处)。
< 需要用到fiddler的插件windiff,要先下载该插件,设置后即可使用。>
四、设置断点——修改报文。
1、断点类型:
(a)全局断点:工具栏Rules > Automatic Breakpoints > Before Requests .
(b)单个断点:针对单一会话拦截,方法是在命令行输入命令
(修改请求报文使用命令“bpu + 拦截目标URL或者字符串”;修改响应报文使用命令“bpafter +拦截目标URL或者字符串”)
2、修改报文:
(a)修改请求报文;
(b)伪造http响应:在上面的步骤三中更改点击“choose response...”按钮,选择想要设置的放回状态码即可。
(c)修改响应报文;
(d)伪造Referer。(题外话:什么是HTTP Referer,简言之,HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器 籍此可以获得一些信息用于处理。比如从我主页上链接到一个朋友那里,他的服务器就能够从HTTP Referer中统计出每天有多少用户点击我主页上的链接访问他的网站。虽然Referer并不可靠,但用来防止图片盗链还是足够的。Referer其实应该是英文单词Referrer,不过拼错的人太多了,所以编写标准的人也就将错就错了。 )
(e)模拟网络超时:fiddler设置断点后就拦截住客户端发出的请求,这样就相当于网络超时。目的是为了再检查客户端有没有重发或者超时后的机制。方法如下图:
(f)精确控制网速(需要修改fiddler的脚本)
五、Fiddler的其他插件应用。
1、JavaScript Formatter;
2、Gallery
认识Fiddler的更多相关文章
- fiddler发送post请求
1.指定为 post 请求,输入 url Content-Type: application/x-www-form-urlencoded;charset=utf-8 request body中的参数格 ...
- [转]Fiddler抓取Android真机上的HTTPS包
此篇文章转载自:http://blog.csdn.net/roland_sun/article/details/30078353 工作中经常会需要对一些app进行抓包, 但是每次默认都是只抓http请 ...
- 从Fiddler抓包到Jmeter接口测试(简单的思路)
备注:本文为博主的同事总结的文章,未经博主允许不得转载. Fiddler下载和配置安装 从网上下载fiddler的安装包即可,直接默认,一直点击下一步,直至安装完成. 安装完成后直接打开Fiddler ...
- web开发调试神器——fiddler的使用
好累 以后再写 http://docs.telerik.com/fiddler/knowledgebase/autoresponder
- 用Fiddler模拟低速网络环境
有时候宽频网路用习惯了… 在开发的过程就比较少去考虑最佳化的问题… 但当有人反应说「你的网页好慢」甚至当网路速度慢,会造成你的网页跳出什么啊哩不哒的bug时要如何重现呢? 我们可以用Fiddler 这 ...
- 使用Fiddler抓取手机请求
使用Fiddler抓取手机请求 Fiddler 手机 今天想尝试在手机上抓包,发现一个好玩的小工具——Fiddler. Fiddler是一个专门的抓包工具,可以模拟请求,修改请求,手机应用调试等.还是 ...
- 如何用fiddler对ios抓包
fiddler端设置:(配置好重启fiddler) 1.首先下载安装fiddler,我安装的是fiddler4 2.Tools->Telerik Fiddler Options->HTTP ...
- Fiddler抓包工具使用基础
官网下载Fiddler Fiddler的官方网站: www.fiddler2.com Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监 ...
- [fiddler] 使用fiddler script自定义代理规则
场景 fiddler作为调试代理工具,可以捕获电脑与互联网之间所有http通讯. 通过可视化操作或命令行可以按某些规则截获特定请求并修改,但当我们需要批量对请求进行更复杂的逻辑操作时,则不是很方便. ...
- Fiddler替换HTTP Request Host
原文链接:http://caibaojian.com/fiddler.html 这边指的替换HTTP Request Host是,所有原先发到a.com的HTTP Request , Fiddler都 ...
随机推荐
- Codeforces 446C DZY Loves Fibonacci Numbers [线段树,数论]
洛谷 Codeforces 思路 这题知道结论就是水题,不知道就是神仙题-- 斐波那契数有这样一个性质:\(f_{n+m}=f_{n+1}f_m+f_{n}f_{m-1}\). 至于怎么证明嘛-- 即 ...
- Java调用oracle存储过程通过游标返回临时表数据
注:本文来源于 < Java调用oracle存储过程通过游标返回临时表数据 > Java调用oracle存储过程通过游标返回临时表数据 项目开发过程中,不可避免的会用到存储过程返回结 ...
- Confluence 6 安装 Oracle
如果你还没有在安装可以连接的 Oracle 数据库,请先下载后进行安装.请参考 Oracle 文档 来获取有关安装的指南. 当你设置你的 Oracle 服务器的时候: 字符集 必须使用 AL32UTF ...
- Java测试的题目感想
日期:2018.9.24 星期一 博客期:012 说起来测试真的是来的时候信心满满,考完的时候慌得出神!我感觉自己会用Scanner类做输出和文件操作就可以在有限时间内把它搞出来了!事实证明我错了!我 ...
- mongo 的导入和导出
1.导出工具:mongoexport 1.概念: mongoDB中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件.可以通过参数指 ...
- MySQL数据库下载、安装
地址:https://www.mysql.com/ 解压下载的文件 配置环境变量 新建系统变量 变量名:MYSQL_HOME 变量值:解压 mysql-5.7.24-winx64.zip 后的路径 ...
- Windows 系统共享文件扫描
近年来历次泄露的安全事故(工控安全),其主要原因就是内部网络自身的脆弱性问题.对于内部网络的安全检查是很必要的.传统上使用CMD命令 net view 就可以扫描在线的主机但是,主机设置取消QOS的 ...
- CF508E
贪心题是很有趣的... 首先,本题为括号匹配问题,那么可以考虑进行栈模拟 然后,我们思考一下如何匹配:虽然题目中仅对右括号的位置提出了区域性要求,但可以发现,对能匹配上的栈顶括号立刻进行匹配一定是一种 ...
- shell之ulimit应该注意的事项
详细介绍:http://www.cnblogs.com/xiaOt119/archive/2012/06/13/2547930.html ulimit -n 2048 1.这个限制是针对单个程序的限制 ...
- 解决beego中同时开启http和https时,https端口占用问题
在beego的app.go文件中, 找到 // run normal mode if BConfig.Listen.EnableHTTPS { go func() { time.Sleep( * ti ...