http---fiddler的高级应用2

 

 

 Fiddler是一个强大的HTTP调试工具,可以用它来对WEB前端进行测试,诸如调试JSON,跟踪Ajax的工作。

  当然,还可以用于渗透测试,因为它截取HTTP包,并可以对其中的内容进行修改。通过脚本的定制,甚至可以成为一个不错的渗透测试工具。

  (笔者对渗透测试并不熟悉,只稍微研究过burpsuite,感觉在某些功能上burpsuite不如Fiddler脚本定制灵活)

  关于它的介绍,我就不多说了。这里是百度百科的介绍:http://baike.baidu.com/view/868685.htm

  而它的一些基本应用,已经有人写得比较详尽,所以也不加以说明。

  这里是小坦克的关于Fiddler应用的博客地址:http://www.cnblogs.com/TankXiao/archive/2012/02/06/2337728.html

  其它类似的博客就不列举了,因为百度一下都能找到比较相似的内容。

  然后是Fiddler的使用文档,在Fiddler官网上就有:http://fiddler2.com/documentation/Configure-Fiddler/Tasks/ConfigureFiddler

  那么,以上这么多资料,基本上是可以满足不少人的要求了。

  至少使用Fiddler进行断点、重发、调试等基本操作是完全没有问题的。

 

  但这还不是Fiddler强大之处的极限,一个软件强大就强大在可以自由定制属于自己的功能。

  而Fiddler毫无疑问是拥有这一特性的,Fiddler 是用C#写出来的。fiddler包含了一个强大的基于事件脚本的子系统,并且能够使用.net框架语言扩展。

 

参考资料:

  1. Fiddler Script的实例
  2. Jscript.Net MSDN

 

一般来说,以上两个资料已经可以解决很多问题了。

那么我还是来介绍一下吧。

扩展Fiddler有两种方式

  1. 通过C#项目导入Fiddler的引用,然后使用其提供的功能开发自己的程序,这种方式是最自由、最灵活的,需要了解的是如何使Fiddler在C#项目中起作用,这在官网上有介绍。
  2. 通过安装Fiddler scirpt editor,在Fiddler的基础上,通过JScript.Net脚本定制自己的Fiddler需要的功能。

  这里只介绍第二种方式。

  首先当然是安装Fiddler scirpt ediot,只要启动Fiddler, 点击菜单Rules->Customize Rules...然后会询问是否需要安装,同意就行了。

  这是Fiddler script的界面:

Fiddler界面

  右边是一个简单的Fiddler常用类的介绍,里面有一些实用的方法。

  而左边,就是我们可以进行定制的脚本内容了。

  主要包括请求阶段处理定制,外观定制,命令控制台定制.

 

请求阶段处理定制

  这是比较核心的部分了。

  对Fiddler来说,对HTTP请求与响应分2个阶段,请求发出前(BeforRequest),请求发出后接收到响应前(BeforResponse)

  在Fiddler script菜单->Go->OnBeforRequest,在函数OnBeforRequest,跳转到请求发到服务器前要做的处理,

  此时相当于在请求发出前设置一个断点,然后可以对请求HTTP包进行header,cookie,context等修改.

  例:修改百度一下的请求,使表单内容由搜索:"你好吗"变为"今天你吃了吗"。

 

  而Go-<OnBeforResponse,在函数OnBeforResponse,则是请求发到服务器后,从服务器接收到响应后的处理

  此时相当于在接到响应后设置一个断点,然后可以对响应HTTP包进行修改,这种修改只反应在本地,不会对服务器造成影响。

  例:上一例中,把搜索"今天你吃了吗"返回的内容修改为"你今天好吗"返回的内容.(可以用断点测试一下效果)

 

外观定制

  这个比较简单,就是对Fiddler界面的一些定制,如把捕捉的HTTP请求高亮显示,还可以自己写一个功能,并定制一个新功能区域。

  不详细讲了,在参考资料里应该都有的。

 

命令控制台定制

  这个实际上就是用一些命令执行一些功能,比如设置断点可以用快捷键F10,F11,也可以用命令控制台的bn、bpafter等一系列命令

  这允许你写好了一个功能后,直接通过命令启动。

 

  Fiddler的脚本定制就到此结束了。

  本文并没有给出任何一个定制的实例,是因为个人觉得自己写的脚本不具有代表性,因为我目前用到Fiddler的地方只有日本手游的截包发包,以及自动脚本。

而在用Fiddler的过程中,我并没有找到国内Fiddler的论坛与较多的脚本定制资料,所以有了这一篇自己探索过程中找到的资源推荐篇。

  当然,如果有什么问题也可以留言提出,我会在自己能力范围内回答~

posted @ 2017-03-23 11:19  修行中的忍者  阅读(103)  评论(0)    收藏  举报