抓包工具--Fiddler的学习笔记1

1.什么是Fiddler&它可以做什么?

Fiddler是位于客户端和服务器端的HTTP代理,也是目前最常用的HTTP抓包工具之一。它能够记录客户端和服务器之间的所有HTTP请求,可以针对特定的HTTP请求,分析请求数据、设置断点、调试Web应用、修改请求数据,甚至可以修改服务器返回的数据,功能非常的强大,是Web试调的利器。

既然是代理,也就是说:客户端的所有请求都要先经过Fiddler,然后转发到相应的服务器,反之,服务器之间的所有相应,也都会先经过Fiddler然后发送到客户端,基于这个原因,Fiddler支持所有可以设置HTTP代理为127.0.0.1:8888的浏览器和应用程序。

2.利用Fiddler录制请求

1:打开浏览器(IE),设置服务器代理为:127.0.0.1:8888

2:打开Fiddler,然后打开浏览器,进行目标网站访问。

3:录制的请求如下:


[Fiddler中session的请求/响应类型与图标对照表]:(***http://blog.csdn.net/andrewpj/article/details/45440097 ***)

3.Fiddler各组件分析

web Session面板:主要是Fiddler抓取到的每条HTTP请求(每一条称为一个session),主要包含了请求的url协议,状态码,body等信息,详细的字段含义如下图所示:

  1. [#] --HTTP Request的顺序,从1开始,按照页面加载请求的顺序递增;
  2. [Result] – HTTP响应的状态,可以参考这里;
  3. [Protocol] – 请求使用的协议(如HTTP/HTTPS/FTP);
  4. [Host] – 请求地址的域名;
  5. [URL] – 请求的服务器路径和文件名,也包括GET参数;
  6. [BODY] – 请求的大小,以bytr为单位;
  7. [Caching] – 请求的缓存过期时间或缓存控制header等值;
  8. [Content-Type] – 请求响应的类型(Content-Type);
  9. [Process] – 发出此请求的Windows进程及进程ID;
    10.[Comments] – 用户通过脚本或者右键菜单给此session增加的备注;
    11.[Custom] – 用户可以通过脚本设置的自定义值。

3.1 Statistic

关于HTTP请求的性能和其他数据分析,我们可以从中看出一些基本性能数据:如DNS解析的时间,建立TCP/IP连接的时间消耗等信息。

3.2 Inspectors

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

3.3 AutoResponder

Fiddler比较重要且强大的功能之一。可用于拦截某一请求,并重定向到本地的资源,或者使用Fiddler的内置响应。可用于调试服务器端代码而无需修改服务器端的代码和配置,因为拦截和重定向后,实际上访问的是本地的文件或者得到的是FIddler的内置响应。当勾选allow autoresponder并设置响应的规则后,进行使用。因此,如果要调试服务器的某个脚本文件,可以将该脚本拦截到本地,在本地修改完脚本之后,在修改服务器端的内容,这可以保证,尽量在真实的环境下去调试,从而最大限度的减少bug发生的可能性。

3.4 Composer

Parsed输入请求的url之后executed即可,也可以修改响应的头信息(如添加常用的的accept,host,referrer,cookie,cache-control等头部)后execute。

3.5 Filter

Fiddler另一个比较强大的功能。Fiddler提供了多维度的过滤规则,足以满足日常开发调试的需求。Fiddler的过滤器非常强大,可以过滤特定HTTP状态码的请求,可以过滤特定请求类型的HTTP请求(如css请求,image请求,js请求等),可以过滤请求报文大于或者小于指定大小(byte)
1)host和zone过滤。可以过滤只显示intranet或者internet的HTTP请求,也可以选择特定域名的HTTP请求。
2)可以捕获指定进程的请求。者对于调试单个应用的请求很有帮助。

4.利用Fiddler的过滤规则来录制指定HTTP请求

1:只录制指定的网站的HTTP请求,让你的录制没有其他网站的请求,也方便自己找到请求数目:

2:只录制有效请求,自动屏蔽那些jpg,png,css,js等请求资源:REGEX:(?insx)/[^?/].(css|ico|jpg|png|gif|bmp|wav)(?.)?$
利用正则表达式来做处理

3:根据HTTP状态来屏蔽请求:

5.利用Fiddler模拟用户请求

1:把正常请求的Headers给拷贝过去,放到Composer的头部。
2:在Inspectors里面,点击raw,把请求的数据内容贴到request body里面,点击excute就可以完成一次请求。

6.利用Fiddler设置断点进行调试修改

1:Fiddler菜单栏 -->rules --> automatic Breakpoint --> 选择断点方式:
a)before response. 也就是发送请求之后,但是Fiddler代理中转之前,这是可以修改请求的数据。
b)after response. 也就是服务器响应之后,但是在Fiddler将响应中转给客户端之前。这时可以修改响应的结果。
我们先来进行第一类:设置为before response断点类型:发送一个请求:baidu.com
1) 观察下:Inspectors里面会有新内容,点击break on response,如果中文显示乱码,记得点击解压即可。
2)然后点击TextView,然后我们选择一个地方修改。

第二类:设置为after response断点类型:发送一个请求:baidu.com
1) 观察下:Inspectors里面会有新内容,点击break on response,如果中文显示乱码,记得点击解压即可。
2)然后点击TextView,然后我们选择一个地方修改。

7.利用Fiddler重定向到本地的资源

1:选择某个请求,到auto responder控制面板,并勾选Enable rules:add rules
2:对该请求链接URL,进行设置,如下:会转到404页面,

3:设置完链接后,到浏览器上面进行查看结果:

2019年03月23日

参考文献:

http://blog.csdn.net/andrewpj/article/details/45440097
https://blog.csdn.net/x83853684/article/details/80425898

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值