tid=57071& 本帖最後由 IT_man 於 2017-2-13 09:04 編輯
' O' T6 G( m# p" z& _; p$ g% ^3 {& @4 {% I8 T( K
配合 awk, cut, sort, uniq 指令, 可以印出每個 ip 的連線數量, 並用連線數量排序由多而小, 以下會針對 TCP ESTABLISHED 連線檢查:; d, S5 i Z- |/ Y1 d" w0 q
- netstat -an|grep ESTABLISHED|awk '/^tcp/ {print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|more
複製代碼 針對 port 80 的連線, 將每個 ip 的連線數量印出並進行排序:* f* a& s- H; G8 U. y
- 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
複製代碼 " M$ ?2 g1 U: _; ~ j3 m, j
$ s% E% F7 Z7 t+ f$ f: p
透過以上方法找到來源 ip 後, 例如 ip 是 x.x.x.x, 可以用 iptables 阻擋攻擊
( f5 U+ L3 F( t, d8 h* y封鎖 IP. Y9 z; s0 y& }4 n
- iptables -A INPUT -p all -s x.x.x.x/32 -j DROP
複製代碼 解除封鎖 IP
, P6 U. K, b: A. Y- iptables -D INPUT -p all -s x.x.x.x/32 -j DROP
複製代碼
$ ]6 E& U) k7 p- a+ n0 h- Z$ ]以上參考:, X& A7 V' E. g. R
https://www.phpini.com/linux/linux-netstat-detect-ddos
, w4 Y, O1 H( k4 uhttps://www.phpini.com/linux/count-ip-connections: d; p4 Q8 M5 Y; J8 l
https://www.phpini.com/linux/netstat-check-connections
! D( U# r0 Y z% n$ W @
) W1 [/ q# W7 |
* V- w6 }& S% J* M W# b" C* u
2 L5 z5 N* f ~
6 g5 e! Q2 [+ z |