FIDDLER 抓包分析

Fiddler抓取HTTP请求。php

抓包是Fiddler的最基本的应用,以本博客为例,启动Fiddler以后,在浏览器中输入http://blog.csdn.net/ohmygirl 键入回车以后,在Fiddler的web session界面捕获到的HTTP请求以下图所示:css

 

各字段的详细说明已经解释过,这里再也不说明。须要注意的是#号列中的图标,每种图标表明不一样的相应类型,具体的类型包括:html

 

另外,注意请求的host字段。能够看到有来自多个www.csdn.net的子域名的响应,说明在大型网站的架构中,大多须要多个子域名,这些子域名多是单独用于缓存静态资源的,也多是专门负责媒体资源的,或者是专门负责数据统计的(如pingback)。web

右键单击其中的一条请求。能够选择的操做有:save(保存请求的报文信息,能够是请求报文,能够是响应报文)。例如,咱们保存的一条请求头信息以下:正则表达式

 

不只是单条session,Fiddler还支持保存全部抓取到的session(并支持导入),这对于抓取可疑请求而后保存,并在以后随时分析这些请求是颇有帮助的。浏览器

若是想要从新发送某些请求,能够选中这些请求,而后点击工具栏中的reply.就能够从新发送选中的这些请求。缓存

左键点击单条HTTP请求,能够在右侧的tab面板中看到以下信息:安全

1. Statistic

关于HTTP请求的性能和其余数据分析:服务器

 

咱们能够从中看出一些基本性能数据:如DNS解析的时间消耗是8ms,创建TCP/IP链接的时间消耗是8ms等等信息。cookie

2. Inspectors

分为上下两个部分,上半部分是请求头部分,下半部分是响应头部分。对于每一部分,提供了多种不一样格式查看每一个请求和响应的内容。JPG 格式使用 ImageView 就能够看到图片,HTML/JS/CSS 使用 TextView 能够看到响应的内容Raw标签能够查看原始的符合HTTP标准的请求和响应头。Auth则能够查看受权Proxy-Authorization 和 Authorization的相关信息。Cookies标签能够看到请求的cookie和响应的set-cookie头信息。

 

3. AutoResponder

Fiddler比较重要且比较强大的功能之一。可用于拦截某一请求,并重定向到本地的资源,或者使用Fiddler的内置响应。可用于调试服务器端代码而无需修改服务器端的代码和配置,由于拦截和重定向后,实际上访问的是本地的文件或者获得的是Fiddler的内置响应。当勾选allow autoresponser 并设置相应的规则后(本例中的规则是将http://blog.csdn.net/ohmygirl的请求拦截到本地的文件layout.html,以下图所示

 

而后在浏览器中访问http://blog.csdn.net/ohmygirl,获得的结果实际为:

 

这恰好是本地layout.html的内容,说明请求已经成功被拦截到本地.固然也可使用Fiddler的内置响应。下图是Fiddler支持的拦截重定向的方式:


所以,若是要调试服务器的某个脚本文件,能够将该脚本拦截到本地,在本地修改完脚本以后,再修改服务器端的内容,这能够保证,尽可能在真实的环境下去调试,从而最大限度的减小bug发生的可能性。

不只是单个urlFiddler支持多种url匹配的方式:

I. 字符匹配

如 example能够匹配 http://www.example.comhttp://example.com.cn

II. 彻底匹配

EXACT开头表示彻底匹配,如上边的例子

EXACT:http://blog.csdn.net/ohmygirl

III. 正则表达式匹配

以regex: 开头,使用正则表达式来匹配URL

如:regex:(?insx).*\.(css|js|php)$  表示匹配全部以css,js,php结尾的请求url

4. Composer。

老版本的fiddler中叫request-builder.顾名思义,能够构建相应的请求,有两种经常使用的方式构建请求:

(1)Parsed 输入请求的url以后executed便可,也能够修改相应的头信息(如添加经常使用的accept, host, referrer, cookie,cache-control等头部)后execute.

这个功能的常见应用是:“刷票”(不是火车票!!),如刷新页面的访问量(基于道德和安全缘由,若是你真去刷票,刷访问量,本博客概不负责)

(2)Raw。使用HTTP头部信息构建http请求。与上相似。很少叙述

5. Filter

Fiddler另外一个比较强大的功能。Fiddler提供了多维度的过滤规则,足以知足平常开发调试的需求。以下图示:


过滤规则有:

a. host和zone过滤。能够过滤只显示intranet或则internet的HTTP请求

也能够选择特定域名的HTTP请求

 

b. client process:能够捕获指定进程的请求。

这对于调试单个应用的请求颇有帮助。

其余更多的设置能够参考fiddler的官方文档。

相关文章
相关标签/搜索