tid=57071& 本帖最後由 IT_man 於 2017-2-13 09:04 編輯 $ e+ i, P5 W u1 y9 @% K
3 z4 M$ f% O! Z9 w, k/ ?) b9 w7 D
配合 awk, cut, sort, uniq 指令, 可以印出每個 ip 的連線數量, 並用連線數量排序由多而小, 以下會針對 TCP ESTABLISHED 連線檢查:
- Z( P C" ]3 G7 \/ p- netstat -an|grep ESTABLISHED|awk '/^tcp/ {print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|more
複製代碼 針對 port 80 的連線, 將每個 ip 的連線數量印出並進行排序:: I( I7 d D- k) S; B) z* V
- 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! o; Q R" A& m
8 a- S2 f2 ]1 `1 `1 S6 _- b透過以上方法找到來源 ip 後, 例如 ip 是 x.x.x.x, 可以用 iptables 阻擋攻擊6 o2 P* T9 q; h& Z+ p$ w' u
封鎖 IP/ p$ u* h9 w3 m- V% g K
- iptables -A INPUT -p all -s x.x.x.x/32 -j DROP
複製代碼 解除封鎖 IP
% G7 j2 J0 B1 j5 @- iptables -D INPUT -p all -s x.x.x.x/32 -j DROP
複製代碼
3 r1 W- a) F% Z. }以上參考:
, q4 @6 P6 V7 ^. \( s. e8 N; Zhttps://www.phpini.com/linux/linux-netstat-detect-ddos
9 L) O* ^; ]$ w$ Lhttps://www.phpini.com/linux/count-ip-connections
3 B& l7 g. G! ?# N9 chttps://www.phpini.com/linux/netstat-check-connections
6 v @9 V" U& ^5 t( q0 Z9 E" M; X. G5 `0 U' k0 M0 M& ]
7 i* c# F8 G8 U
& X, Z& ^' B4 l+ b1 c; [' ?% L
: e( m1 \- ]4 }, N |