[个人原创]用Fiddler2进行简单的并发及安全测试,用Filddler来模拟一次或者多次不同的浏览器页面请求的方法

jackxiang 2011-9-7 11:38 | |
   Fiddler 2对Flex开发和联调很有用,因为Flash Player的某些HTTP请求调的不是浏览器的HTTP接口,而是自己实现的,这类请求用httpwatch/firebug下是观察不到的。这类请求 就是文件上传请求(Flash Player按照RFC1867规范自行发的请求)。
    背景:在我们的开发测试中,往往是一些表单的提交,还时常带着Cookie,Session的后台验证才能提交,而我们最关心的还是提交,而不是前面的验证,在实际中往往浏览器提交一次后,再回来做二次测试时,其HTML数据控件已经没有了,得再次输入数据,这给我们带来了很大的不方便,为此,我们常常用的FireBug这样的插件也不能满足我们的需求,在这样的背景下催生出一个叫Filddler2的工具,能带给我们惊喜,也就是解决了这个问题,可以让我们自己对后台做多次调试,其模拟了Http协议的Cookie,Session表单数据提交,带来了方便,步骤如下:

(1)启动Filddler程序后,找到一个需要再做一次的URL连接, Firefox调试确保Filddler2界面左下角是:
   Capturing | All Processes | 空[这儿是可以阻塞的地方] | 通过个数是空[会显示捕获个数]。
   确保是让其在做下面模拟的URL时让其阻塞,后我们再放开,就再次模拟人为进交一次,这里带Session,Cookie等,给我们带
   来了实实在在的方便。

(2)打开Firefox后,工具>选项>网络>设置>手动配置代理勾选上>Http代理:127.0.0.1>端口:8888

(3)看步骤1中有All Processes  空[这儿是可以阻塞的地方],点可以阻塞的地方让其出现黑色T的红色背景框即可。

(4)点击Fiddler面板上某个需要再次调试的URL,右键-》Replay -》Reissue Requests,如直接点它,会自动出现一个一样的连接。
  如果按住Shift按扭再点Reissue Requests,会出现输入框让你输入要模拟多少次,这儿可以用来做简单的并发测试滴,我们就模拟一次。

(5)然后,看第4步,就是放开我们的那个阻塞的按钮,也就是然后取掉断点状态。

(6)点击软件上的“Resume All”,释放被拦截的请求,此时30多条记录就会并发向后台请求。
        新版本V4里找不到Resume All按钮了,直接在第3步里的下面命令行里输入 : g or  go  Resume all breakpointed sessions  g 也成。
(7)此时,观察我们待测试的页面,会自动弹出窗口,提示语句,SQL等等。

  可能出现的问题,如8888端口被占用会配置了代理后,Firefox访问页面出现访问不了,如何排查如下:
    如果Windows中查看Fiddler的8888端口是否开启或者被其它程序占用的简单方法。

   还不明白,可以参考:http://jackxiang.com/post/735/  如何通过端口看是哪个程序占用的方法。
   我对自己的博客修改文章做了下实验是Ok的,如下:
   1)自己先用Firefox保存一下自己写的这篇博文,并把这个保存的URL给找出来,http://jackxiang.com/admin.php,删除Fiddler的其他
的URL。

   2)用其他浏览器修改一个博文的文字和1保存时的不一样。

   3)直接跳过到上面第4步,再Replay一次,也就是不用柱塞,直接再提交一次,后返回200

   4)看DB,发现我的博文又给修改回1步骤时的文字了,模拟成功,Yeah。

   最后,还是上一张图吧,除开Firefox设置代理外,都放一块,有兴趣可以摸索摸索:
点击在新窗口中浏览此图片



stream:是可以让未下载完成的资源继续下载完成

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/4605/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2015-4-27 16:50
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]