Skip to content

CodeRichen/DDos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DDoS 模擬測試環境 - 完整版

📁 文件說明

伺服器端

  • server.py: 基礎測試伺服器 (無防禦)
  • server_defense.py: 進階防禦伺服器 (包含5種防禦機制)

攻擊端

  • ddos.py: 基礎 DDoS 攻擊腳本
  • quick_test.py: 快速5級威力測試
  • ddos_advanced.py: 7種攻擊方法完整測試
  • progressive_test.py: 漸進式攻擊 + 防禦效果對比

🚀 快速開始

方案 1: 基礎測試 (5分鐘)

終端 1 - 啟動伺服器:

cd c:\Users\User\Desktop\Programm\topic\DDos
python server.py

終端 2 - 快速測試:

cd c:\Users\User\Desktop\Programm\topic\DDos
python quick_test.py

自動執行 5 個等級的攻擊,從 10 線程到 200 線程


方案 2: 防禦效果對比 (推薦!)

步驟 1: 測試無防禦伺服器

終端 1:

python server.py

終端 2:

python progressive_test.py
# 選擇 [2] 僅測試當前伺服器
# 選擇 [1] GET 請求
# 輸入 n (無防禦)

步驟 2: 測試有防禦伺服器

關閉 server.py,重新啟動:

python server_defense.py

終端 2:

python progressive_test.py
# 選擇 [2] 僅測試當前伺服器
# 選擇 [1] GET 請求
# 輸入 y (有防禦)

步驟 3: 對比結果

查看兩次測試的最大承受線程數差異!


方案 3: 完整對比測試 (進階)

需要手動切換伺服器,測試 4 種場景:

python progressive_test.py
# 選擇 [1] 完整對比測試

按提示依序:

  1. 啟動 server.py → 測試完畢
  2. 啟動 server_defense.py → 測試 3 種攻擊方法
  3. 查看完整對比報告

🛡️ 防禦機制說明

server_defense.py 包含 5 種防禦:

防禦機制 功能 效果
🚦 速率限制 10秒內最多20個請求 阻擋高頻攻擊
🚫 IP黑名單 違規IP封鎖30秒 防止持續攻擊
🔗 連接限制 每IP最多10個並發 防止連接耗盡
✅ 請求驗證 檢查User-Agent 過濾機器人
⏱️ 自適應延遲 根據負載動態延遲 保護資源

關閉防禦模式

python server_defense.py --no-defense

🎯 攻擊方法說明

ddos_advanced.py 包含 7 種攻擊:

  1. HTTP GET 洪水 - 最快速,純粹量大
  2. HTTP POST 洪水 - 帶 1KB 數據
  3. 繞過緩存攻擊 - 每次不同參數
  4. Header 洪水 - 50 個自定義 Header
  5. 大封包攻擊 - 10KB 負載
  6. TCP SYN 洪水 - 底層連接攻擊
  7. Slowloris - 慢速長時間佔用

📊 測試指標

觀察伺服器狀態

打開瀏覽器訪問 http://127.0.0.1:8000

正常狀態:

  • 🟢 綠色,無延遲,無轉圈
  • 請求/秒 < 20

輕微影響:

  • 🟡 黃色,100-200ms 延遲
  • 請求/秒 20-50

嚴重卡頓:

  • 🔴 紅色,500ms+ 延遲,轉圈
  • 請求/秒 > 100
  • 頁面需等待數秒才載入

判定標準

  • 成功率 < 80% → 開始失效
  • 響應時間 > 1秒 → 明顯卡頓
  • 響應時間 > 2秒 → 嚴重卡頓
  • 失敗率 > 50% → 伺服器癱瘓

💡 測試建議

  1. 先用 quick_test.py 快速了解不同威力
  2. 用 progressive_test.py 找出臨界點
  3. 對比有無防禦的差異
  4. 觀察瀏覽器頁面的卡頓效果

📦 安裝依賴

pip install requests

About

內含多種方法的dos攻擊實作

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors