tid=57071& 本帖最後由 IT_man 於 2017-2-13 09:04 編輯
, b. `) U2 \4 ~/ Y; t# M J. m! b8 |& ?- b; B
配合 awk, cut, sort, uniq 指令, 可以印出每個 ip 的連線數量, 並用連線數量排序由多而小, 以下會針對 TCP ESTABLISHED 連線檢查:
; Z0 {( E0 O) n% ^% l& p' b- netstat -an|grep ESTABLISHED|awk '/^tcp/ {print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|more
複製代碼 針對 port 80 的連線, 將每個 ip 的連線數量印出並進行排序:
) k, H7 T! ?4 @& S- h- netstat -ntu | grep :80 | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr|more
複製代碼 列出最多連接數的 10 個 IP 及其連接數,其中 “:80” 是連接埠號,可改成想要檢查的埠號- netstat -atnp -A inet | grep ":80" | awk -F " " '{print $5}' | awk -F ":" '{print $1}' | sort | uniq -c | sort -nr | head -10
複製代碼
( S2 E% E& L. V. @+ }0 G3 J
/ c, v7 i8 w0 W$ q透過以上方法找到來源 ip 後, 例如 ip 是 x.x.x.x, 可以用 iptables 阻擋攻擊
7 h# e5 h2 P4 f% f6 c8 c$ U6 k5 c% D封鎖 IP2 v- Z; s2 P* [- A2 i, r
- iptables -A INPUT -p all -s x.x.x.x/32 -j DROP
複製代碼 解除封鎖 IP
& }+ a+ S2 o. Y, y. @% w- iptables -D INPUT -p all -s x.x.x.x/32 -j DROP
複製代碼
; r" `* d0 }2 ]5 m2 f' g4 `- k" O以上參考:: w2 e% T4 c1 q# E* D: P
https://www.phpini.com/linux/linux-netstat-detect-ddos5 S$ c6 z7 K2 t u
https://www.phpini.com/linux/count-ip-connections Y' E0 v0 h/ H, j2 P V
https://www.phpini.com/linux/netstat-check-connections
7 s5 e3 r6 n7 n( V, A! [: W
5 o$ m& o$ w) T6 B. c
# {/ c a, R: l, }: i! T
( r1 C) B- J* H7 Y$ k4 c2 p; i; N a+ F9 a$ L$ I* ]& Y1 h
|