Web 压力测试是目前比较流行的话题,利用 Web 压力测试可以有效地测试一些 Web 服务器的运行状态和响应时间等等,对于 Web 服务器的承受力测试是个非常好的手法。Web 压力测试通常是利用一些工具,例如微软的 Web Application Stress、Linux 下的 Siege、功能全面的 Web-CT 等等,这些都是非常优秀的 Web 压力测试工具。
虽然这些工具给我们测试服务器承受能力带来方便,但是它们的危害却更是惊人,甚至于利用随便一种比较全面的测试工具就可以对一台小型的 Web 服务器发动灾难性的拒绝式攻击。下面我就带大家利用微软的 Web Application Stress 进行一次 Web 压力测试,其目的是为了让大家看到它的巨大危害。
一、工具简单介绍
Microsoft Web Application Stress Tool 是由微软的网站测试人员所开发,专门用来进行实际网站压力测试的一套工具。透过这套功能强大的压力测试工具,您可以使用少量的客户端计算机仿真大量用户上线对网站服务所可能造成的影响,在网站实际上线之前先对您所设计的网站进行如同真实环境下的测试,以找出系统潜在的问题,对系统进行进一步的调整、设置工作。就是因为这些特性,才使它具备了 D.O.S 轰炸的功能。
小提示:D.O.S(拒绝服务攻击)通过使你的服务计算机崩溃或把它压跨来阻止你提供服务。简单来说,就是让你的计算机提供可能多的服务从而使你的计算机陷入崩溃的边缘或崩溃。
二、工具简单设置
打开 Web Application Stress Tool,很简洁的一个页面,上面是工具栏,左下方是功能选项,右下方是详细设置选项。在对目标 Web 服务器进行压力测试之前,先对它进行一些必要的设置。
1. 在“Settings”的功能设置中,一个是 Stress level (threads)这里是指定程序在后台用多少线程进行请求,也就是相当于模拟多少个客户机的连接,更加形象的就是说设置多少轰炸的线程数。一般填写 500~1000,因为这个线程数是根据本机的承受力来设置的,如果你对自己的机器配置有足够信心的话,那么设置的越高,轰炸的效果越好。
2. 在“Test Run Time”中来指定一次压力测试需要持续的时间,分为天、小时、分、秒几个单位级别,你根据实际情况来设置吧!
3. 其余的选项不太重要,这里就不再浪费笔墨,朋友们可以自己尝试一下设置。
三、压力测试
工具介绍完了,下面来准备条件:这里与一个朋友商量好进行测试,他是单机上网,机器配置是 CPU Athlon XP2500+、内存 512MB、硬盘 80GB 等,机器配置还不错。他在机器上安装了 IIS,架设了一台对外的 Web 服务器,Web 服务中的程序是动网 7.0。我就利用压力测试工具对这台服务器进行测试。
步骤 1:在工具中点右键,选择 Add 命令,增加了一个新的测试项目:New Script,对它进行设置,在主选项中的 Server 中填写要测试的服务器的 IP 地址。在下方选择测试的 Web 连接方式,这里的方式 Verb 选择 Get,Path 选择要测试的 Web 页面路径,这里填写 /Index.asp,即动网的首页文件。
步骤 2:在“Settings”的功能设置中将 Stress level (threads)线程数设置为 1000。完毕后,点工具中的灰色三角按钮即可进行测试。测试完毕,等待朋友把任务管理器以及连接查看的截图发过来!
攻击开始后,朋友从任务管理器中可以看到 CPU 使用率已经达到 100%,损耗率达到最大。在 CMD 窗口中使用命令 netstat -an,可以看到我的 IP 地址在朋友服务器上的80端口进行了非常多的连接。而且它的 Web 网站已经打不开了,提示过多用户连接,达到了跟 D.O.S 攻击一样的目的。
试想,如果利用多台肉鸡对一台服务器进行 Web 压力测试,那么对这台服务器来说将是灭顶之灾,所以朋友们在使用它之前一定要慎重考虑。