tid=57071& 本帖最後由 IT_man 於 2017-2-13 09:04 編輯 1 P' g7 |# g1 w) O( ~+ y
: G: }. e0 Z; ?7 T2 V% W6 }配合 awk, cut, sort, uniq 指令, 可以印出每個 ip 的連線數量, 並用連線數量排序由多而小, 以下會針對 TCP ESTABLISHED 連線檢查:
, s7 Y! X" z0 q; i$ [- netstat -an|grep ESTABLISHED|awk '/^tcp/ {print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|more
複製代碼 針對 port 80 的連線, 將每個 ip 的連線數量印出並進行排序:
; g! j% V& r0 d- X, n- 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
複製代碼
: n l- q3 y/ a1 ~1 e. g* p4 E9 }3 J
. Y) t- w) N8 \透過以上方法找到來源 ip 後, 例如 ip 是 x.x.x.x, 可以用 iptables 阻擋攻擊
1 K U0 f4 b4 {- B封鎖 IP Q& {8 A& d2 w
- iptables -A INPUT -p all -s x.x.x.x/32 -j DROP
複製代碼 解除封鎖 IP
7 \1 `: y: V6 b( t4 H. d8 E8 ~- iptables -D INPUT -p all -s x.x.x.x/32 -j DROP
複製代碼 . c6 c3 `+ ~1 a7 N
以上參考:
8 K- @5 d0 A7 A" r! b) _$ j3 Phttps://www.phpini.com/linux/linux-netstat-detect-ddos! O8 v8 K/ C! S; T
https://www.phpini.com/linux/count-ip-connections, R1 ]3 R: I7 D
https://www.phpini.com/linux/netstat-check-connections) K3 K, e' q8 ?( X. c- u+ b; T
- W6 `$ T" w( y% G2 I0 I; f
9 R, u" X! U) J" k0 b% j: Y
' r3 H* \$ W) q- n, J9 B
& g0 T3 f: k* F e( t |