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 壓力測試,那么對這臺服務器來說將是滅頂之災,所以朋友們在使用它之前一定要慎重考慮。