<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[[个人原创]用Fiddler2进行简单的并发及安全测试，用Filddler来模拟一次或者多次不同的浏览器页面请求的方法]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[Php/Js/Shell/Go]]></category>
<pubDate>Wed, 07 Sep 2011 03:38:35 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	&nbsp;&nbsp; Fiddler 2对Flex开发和联调很有用，因为Flash Player的某些HTTP请求调的不是浏览器的HTTP接口，而是自己实现的，这类请求用httpwatch/firebug下是观察不到的。这类请求 就是文件上传请求(Flash Player按照RFC1867规范自行发的请求)。<br/>&nbsp;&nbsp;&nbsp;&nbsp;背景：在我们的开发测试中，往往是一些表单的提交，还时常带着Cookie，Session的后台验证才能提交，而我们最关心的还是提交，而不是前面的验证，在实际中往往浏览器提交一次后，再回来做二次测试时，其HTML数据控件已经没有了，得再次输入数据，这给我们带来了很大的不方便，为此，我们常常用的FireBug这样的插件也不能满足我们的需求，在这样的背景下催生出一个叫Filddler2的工具，能带给我们惊喜，也就是解决了这个问题，可以让我们自己对后台做多次调试，其模拟了Http协议的Cookie，Session表单数据提交，带来了方便，步骤如下：<br/><br/>（1）启动Filddler程序后，找到一个需要再做一次的URL连接， Firefox调试确保Filddler2界面左下角是：<br/>&nbsp;&nbsp; Capturing &#124; All Processes &#124; 空[这儿是可以阻塞的地方] &#124; 通过个数是空[会显示捕获个数]。<br/>&nbsp;&nbsp; 确保是让其在做下面模拟的URL时让其阻塞，后我们再放开，就再次模拟人为进交一次，这里带Session，Cookie等，给我们带<br/>&nbsp;&nbsp; 来了实实在在的方便。<br/><br/>（2）打开Firefox后，工具&gt;选项&gt;网络&gt;设置&gt;手动配置代理勾选上&gt;Http代理：127.0.0.1&gt;端口：8888<br/><br/>（3）看步骤1中有All Processes&nbsp;&nbsp;空[这儿是可以阻塞的地方],点可以阻塞的地方让其出现黑色T的红色背景框即可。<br/><br/>（4）点击Fiddler面板上某个需要再次调试的URL，右键-》Replay -》Reissue Requests,如直接点它，会自动出现一个一样的连接。<br/>&nbsp;&nbsp;如果按住Shift按扭再点Reissue Requests,会出现输入框让你输入要模拟多少次，这儿可以用来做简单的并发测试滴，我们就模拟一次。<br/><br/>（5）然后，看第4步，就是放开我们的那个阻塞的按钮，也就是然后取掉断点状态。<br/><br/>（6）点击软件上的“Resume All”，释放被拦截的请求，此时30多条记录就会并发向后台请求。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;新版本V4里找不到Resume All按钮了，直接在第3步里的下面命令行里输入 ： g or&nbsp;&nbsp;go&nbsp;&nbsp;Resume all breakpointed sessions&nbsp;&nbsp;g 也成。<br/>（7）此时，观察我们待测试的页面，会自动弹出窗口，提示语句，SQL等等。<br/><br/>&nbsp;&nbsp;可能出现的问题，如8888端口被占用会配置了代理后，Firefox访问页面出现访问不了，如何排查如下：<br/>&nbsp;&nbsp;&nbsp;&nbsp;如果Windows中查看Fiddler的8888端口是否开启或者被其它程序占用的简单方法。<br/><textarea name="code" class="html" rows="15" cols="100">
&nbsp;&nbsp; netstat -ano
&nbsp;&nbsp; 参数解释：
&nbsp;&nbsp;-a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;显示所有连接和监听端口。
&nbsp;&nbsp;-n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;以数字形式显示地址和端口号。
&nbsp;&nbsp;-o&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;显示与每个连接相关的所属进程 ID。

&nbsp;&nbsp; C:&#92;Documents and Settings&#92;jackxiang&gt;netstat -ano&#124;findstr 8888
</textarea><br/>&nbsp;&nbsp; 还不明白，可以参考：http://jackxiang.com/post/735/&nbsp;&nbsp;如何通过端口看是哪个程序占用的方法。<br/>&nbsp;&nbsp; 我对自己的博客修改文章做了下实验是Ok的，如下：<br/>&nbsp;&nbsp; 1）自己先用Firefox保存一下自己写的这篇博文，并把这个保存的URL给找出来，http://jackxiang.com/admin.php，删除Fiddler的其他<br/>的URL。<br/><br/>&nbsp;&nbsp; 2）用其他浏览器修改一个博文的文字和1保存时的不一样。<br/><br/>&nbsp;&nbsp; 3)直接跳过到上面第4步，再Replay一次，也就是不用柱塞，直接再提交一次，后返回200<br/><br/>&nbsp;&nbsp; 4）看DB，发现我的博文又给修改回1步骤时的文字了，模拟成功，Yeah。<br/><br/>&nbsp;&nbsp; 最后，还是上一张图吧，除开Firefox设置代理外，都放一块，有兴趣可以摸索摸索:<br/><a href="http://www.jackxiang.com/attachment.php?fid=207" target="_blank"><img src="http://www.jackxiang.com/attachment.php?fid=207" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/><br/><br/>stream：是可以让未下载完成的资源继续下载完成
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] [个人原创]用Fiddler2进行简单的并发及安全测试，用Filddler来模拟一次或者多次不同的浏览器页面请求的方法]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>