tid=57071& 本帖最後由 IT_man 於 2017-2-13 09:04 編輯
' O2 Z; g' _5 }, ~" ]4 R/ m: q9 t" P0 ?) x! u& E( c2 u7 e
配合 awk, cut, sort, uniq 指令, 可以印出每個 ip 的連線數量, 並用連線數量排序由多而小, 以下會針對 TCP ESTABLISHED 連線檢查:) }/ A; s1 `% o: _7 v- M
- netstat -an|grep ESTABLISHED|awk '/^tcp/ {print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|more
複製代碼 針對 port 80 的連線, 將每個 ip 的連線數量印出並進行排序:
! {9 l' M7 X3 n: d/ _/ [/ Z5 K2 t- 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
複製代碼 6 G1 C& m0 a9 z, T
+ k5 q; I/ T9 a$ P Y" z透過以上方法找到來源 ip 後, 例如 ip 是 x.x.x.x, 可以用 iptables 阻擋攻擊
$ z0 t4 I. u$ v1 |封鎖 IP- p" |; Y: a$ B4 f( u- v5 _' P- a+ r
- iptables -A INPUT -p all -s x.x.x.x/32 -j DROP
複製代碼 解除封鎖 IP& i ]0 x' K+ P# Z2 m: ~- p
- iptables -D INPUT -p all -s x.x.x.x/32 -j DROP
複製代碼
4 r! Q# ?. p2 s( |/ \以上參考:
- ]) t; K; q% I) |; y; _% ehttps://www.phpini.com/linux/linux-netstat-detect-ddos
$ c9 ]" Z4 Z W2 v4 Q. ]1 m+ @https://www.phpini.com/linux/count-ip-connections
- u$ _, \( }+ Z$ ]% chttps://www.phpini.com/linux/netstat-check-connections: {# f5 L" L" c+ Z- Z" j$ @
% j+ j6 v7 R6 Y* t7 P8 B
/ T) ~" c9 Y( Y1 O% r9 |
. }! t2 S) w3 ` c1 G' `: I0 \4 k+ a' u! s$ K- c
|