iT邦幫忙

2025 iThome 鐵人賽

DAY 12
0
Security

我的30天資安攻之路防身修練:實戰×工具×AI全紀錄系列 第 12

【DAY12】駭客攻擊/DoS 攻擊觀念與基本實作整理

  • 分享至 

  • xImage
  •  
  1. 觀念整理
    什麼是 DoS 攻擊?
    DoS(Denial of Service) 阻斷服務攻擊,指的是攻擊者不斷對目標伺服器發送大量請求或流量,目的是讓正常用戶無法取得服務。

常見方式
流量型:大量封包淹沒頻寬(如 UDP Flooding)。

資源型:消耗伺服器 CPU、記憶體、最大連線數(如 TCP 連線洪流、Slowloris)。

應用層型:針對網站頁面不斷發起請求,消耗服務端資源。


DoS 與 DDoS 差異
DoS:單一來源發起攻擊(單人單機執行腳本)。

DDoS:透過多台機器或殭屍網路(Botnet)發動分散式攻擊,來自多來源,壓力更大,更難防禦。


  1. 基本實作步驟(以 Python 範例)
    撰寫 DoS 腳本

建立目標測試伺服器
https://ithelp.ithome.com.tw/upload/images/20251018/20168357KmO6JNjoba.png

本地端搭建 http://127.0.0.1:80 作為目標。

執行腳本測試效果
1.引入 socket 網路套件,讓 Python 可以建立 TCP 連線,也引用 time 來控制每次攻擊的間隔。
2.dos_attack 是 DoS 攻擊主函式,接收目標 IP、端口、攻擊次數。
3.進入迴圈 for,每次攻擊都:
建立 TCP Socket。
連線至目標 IP 與端口。
傳送 HTTP GET 請求(可以換任意字串當封包)。
關閉連線。
顯示封包編號和「Packet sent」。
用 sleep 稍微延遲,避免全部封包瞬間發送導致效能問題。
4. 若出現錯誤會被 except 捕捉並回報(例如 WinError 10061 代表目標沒運行服務)
https://ithelp.ithome.com.tw/upload/images/20251018/20168357JPsXRV4iPD.png
觀察是否有「Packet sent」及伺服器資源消耗。
嘗試用瀏覽器存取伺服器,觀察有無感覺變慢或無回應。
(但這次的效果是無法顯示的,因為單純 DoS 對現代伺服器影響有限,可升級為多執行緒、多進程或分散式)

用 python -m http.server 80(或 5000) 開本地伺服器。

啟動此 DoS 腳本,輸入對應的 IP、port、數量即可測試。
https://ithelp.ithome.com.tw/upload/images/20251018/20168357MHzWXrwhyG.png
觀察瀏覽器存取或工作管理員裡的服務資源消耗。


上一篇
【DAY11】資安維護/搭建日誌收集與威脅分析平台
下一篇
【DAY13】技術實作/Linux 常用指令資安用途彙整表
系列文
我的30天資安攻之路防身修練:實戰×工具×AI全紀錄30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言