tid=57071& 本帖最後由 IT_man 於 2017-2-13 09:04 編輯
% _# J# y* B. o6 A7 i, R
1 N" I' K2 u6 `. v* c配合 awk, cut, sort, uniq 指令, 可以印出每個 ip 的連線數量, 並用連線數量排序由多而小, 以下會針對 TCP ESTABLISHED 連線檢查:8 U$ }& g6 @/ `/ O" n& u
- netstat -an|grep ESTABLISHED|awk '/^tcp/ {print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|more
複製代碼 針對 port 80 的連線, 將每個 ip 的連線數量印出並進行排序:
) x3 \7 T* m% x9 a/ Z, ~/ t. u- 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
複製代碼 , i. ^) m; j1 @
5 M/ v7 y: |, ^1 d2 K" B
透過以上方法找到來源 ip 後, 例如 ip 是 x.x.x.x, 可以用 iptables 阻擋攻擊
$ U+ B) a( @3 j* i# R( i# k! W封鎖 IP
% P+ ` D+ w! I% T' s- iptables -A INPUT -p all -s x.x.x.x/32 -j DROP
複製代碼 解除封鎖 IP
( _% N, Z% q9 Q2 M+ y( b, O1 l- iptables -D INPUT -p all -s x.x.x.x/32 -j DROP
複製代碼
! C- }- E+ E- z/ W" T- c4 O以上參考:: V) K( K% n- e9 K- S
https://www.phpini.com/linux/linux-netstat-detect-ddos, C( H& h; E# g
https://www.phpini.com/linux/count-ip-connections: I8 D% G6 C1 ]7 t/ q
https://www.phpini.com/linux/netstat-check-connections! m5 ?8 m1 j$ R. A5 g- \! O
% n4 m* c- O+ [/ o S% r" m. E( u, Z
o( ^% h1 s$ Y8 e% `; U+ Y9 w
! s7 R8 Y, P& {7 W, [, c$ X( S |