另外,注意请求的host字段。可以看到有来自多个api.ad.cnblogs.com的子域名的响应,说明在大型网站的架构中,大多需要多个子域名,这些子域名可能是单独用于缓存静态资源的,也可能是专门负责媒体资源的,或者是专门负责数据统计的
2、Fiddler主界面的布局如下:主界面中主要包括四个常用的块:
1.Fiddler的菜单栏,上图绿色部分。包括捕获http请求,停止捕获请求,保存http请求,载入本地session、设置捕获规则等功能。
2.Fiddler的工具栏,上图红色部分。包括Fiddler针对当前view的操作(暂停,清除session,decode模式、清除缓存等)。
3.web Session面板,上图黄色区域,主要是Fiddler抓取到的每条http请求(每一条称为一个session),主要包含了请求的url,协议,状态码,body等信息,详细的字段含义如下图所示:
4.详情和数据统计面板。
针对每条http请求的具体统计(例如发送/接受字节数,发送/接收时间,还有粗略统计世界各地访问该服务器所花费的时 间)和数据包分析。如inspector面板下,提供headers、textview、hexview,Raw等多种方式查看单条http请求的请求报 文的信息:
而composer面板下,则可以模拟向相应的服务器发送数据的过程(不错,这就是灌水机器人的基本原理,也可以是部分http flood的一种方式)。
也可以粘贴一次请求的raw http headers,达到模拟请求的目的:
Filter标签则可以设置Fiddler的过滤规则,来达到过滤http请求的目的。最简单如:过滤内网http请求而只抓取internet的http请求,或则过滤相应域名的http请求。Fiddler的过滤器非常强大,可以过滤特定http状态码的请求,可以过滤特定请求类型的http请求(如css请求,image请求,js请求等),可以过滤请求报文大于或则小于指定大小(byte)的请求:
更多的过滤器规则需要一步一步去挖掘。
三、常用功能介绍
1、更改host
fiddler可以直接更改host,不需要重启手机就可立即生效,而且对IOS也是支持的,可以在正式环境/测试环境来回切换,非常方便
Tools->HOSTS...
2、模拟弱网环境,限速
Rules → Performances → Simulate Modem Speeds。勾选之后,你会发现你的网路瞬间慢下来了很多。至于慢下来后网络速度是多少,则由CustomRules.js 中如下程序控制的(Ctrl+R):
...
var m_SimulateModem: boolean = true;
...
if (m_SimulateModem) {
// Delay sends by 500ms per KB uploaded.
oSession["request-trickle-delay"] = "500";
// Delay receives by 150ms per KB downloaded.
oSession["response-trickle-delay"] = "150";
}
...
算法就是 1000/下载速度 = 需要delay的时间(毫秒),比如50kB/s 需要delay20毫秒来接收数据,所以根据你需要的网络速度来修改上述值。
【注】:存档之后,原本已经勾选的Simulate Modem Speeds 会被取消勾选,需要再到Rules → Performances → Simulate Modem Speeds 勾选,同时需要注意一定要禁用浏览器代理插件,以及修改完成后重启浏览器才能生效。
3、打断点(会将所有的请求打断点)
Before Requests F11 修改请求数据
After Responses Alt+F11 修改响应结果
Break On Response 点击后会在响应的地方打断点
Run To Completion 修改后点击运行,将修改后的数据进行请求/返回
4、composer 模拟请求
可以模拟所有的http请求,具体的参数可以在raw里面写,写完后点击Execute进行执行模拟请求
5、AutoResponder 自动响应
可以精确的对抓到的数据进行处理,比如打断点(*bpu/*bpafter),直接返回写好的返回值(find a file...)等
6、TestWizard 转码
7、Replay 重新模拟个一样的请求,Shift+左键可以生成N个一样的请求,可用于简单的压力测试
8、快捷命令 (Alt+Q可直接focus到命令行)
请求断点:bpu 192.168.0.1
清除请求断点:bpu
响应断点:bpafter 192.168.0.1
清除响应断点:bpafter
停止/开始抓本地请求:stop/start
替换请求地址:urlreplace www.zhuaqianmao.com 121.41.58.3(将zhuaqianmao的请求替换为58.3)
放开所有断点:go/g
选择所有该host的请求:@118.178.168.129
所有请求类型为xxx进行断点:bpv(bpm) xxx(如post/get)
清除所有请求:clear/cls
退出fiddler:quit
更多命令可参考:http://www.xuanfengge.com/fiddler2-shortcut-command-tutorial-translation.html