Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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

No packages published

Contributors 2

AltStyle によって変換されたページ (->オリジナル) /