tid=57071& 本帖最後由 IT_man 於 2017-2-13 09:04 編輯 5 Q' ^* ^+ M; {' V0 s
$ r; v! }- r$ ?& a; l/ |6 i$ r配合 awk, cut, sort, uniq 指令, 可以印出每個 ip 的連線數量, 並用連線數量排序由多而小, 以下會針對 TCP ESTABLISHED 連線檢查:- z! v l' u$ J+ `! x( n! u3 _
- netstat -an|grep ESTABLISHED|awk '/^tcp/ {print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|more
複製代碼 針對 port 80 的連線, 將每個 ip 的連線數量印出並進行排序:
% O+ f; b7 v* ?% Z3 b/ r- 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
複製代碼
( f( X6 A: V5 P3 ?9 B+ V
+ d6 C. U# m) z# Y透過以上方法找到來源 ip 後, 例如 ip 是 x.x.x.x, 可以用 iptables 阻擋攻擊" v- z3 U3 a: K" o% [4 F
封鎖 IP
4 J' ^5 h/ \, s, |3 F4 e- iptables -A INPUT -p all -s x.x.x.x/32 -j DROP
複製代碼 解除封鎖 IP8 c! K/ y, Y( `: |" V0 E
- iptables -D INPUT -p all -s x.x.x.x/32 -j DROP
複製代碼
2 V' q( d* z: J# h6 Z4 _2 X以上參考:/ G) Z/ L, \! [* p9 e) {
https://www.phpini.com/linux/linux-netstat-detect-ddos
6 ~- g: T3 F$ v6 g* T. ]https://www.phpini.com/linux/count-ip-connections
4 g! O, p! l8 mhttps://www.phpini.com/linux/netstat-check-connections
W: C$ U( [4 ~0 _0 G9 Z$ c) P2 s7 K5 O. V" m
" }* K( c8 s. L0 n4 F: o
" K6 ?* _- k6 u; z( ^
5 |4 T7 w K7 P) O) e |