tid=57071& 本帖最後由 IT_man 於 2017-2-13 09:04 編輯 + B3 T: L7 t s) Z
4 |6 p4 u- r4 ]$ |4 i配合 awk, cut, sort, uniq 指令, 可以印出每個 ip 的連線數量, 並用連線數量排序由多而小, 以下會針對 TCP ESTABLISHED 連線檢查:" P' ]' @# N5 u/ l' b
- netstat -an|grep ESTABLISHED|awk '/^tcp/ {print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|more
複製代碼 針對 port 80 的連線, 將每個 ip 的連線數量印出並進行排序:
+ p1 o! e8 k' ^5 e) i1 R) n- 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
複製代碼 " B# l! Y4 R1 S: [* v! H; g
$ n: N. b2 r2 \4 T0 b# T( {
透過以上方法找到來源 ip 後, 例如 ip 是 x.x.x.x, 可以用 iptables 阻擋攻擊
: ?3 q- S7 r$ U封鎖 IP
% }. K, f+ f# o. X- iptables -A INPUT -p all -s x.x.x.x/32 -j DROP
複製代碼 解除封鎖 IP6 [5 \8 Q% `! W/ g [: l
- iptables -D INPUT -p all -s x.x.x.x/32 -j DROP
複製代碼
7 u" y) M/ L2 E4 S% T3 i% x以上參考:# h( C5 q& |2 p( n0 f8 e, W
https://www.phpini.com/linux/linux-netstat-detect-ddos
5 v# n# I+ U* w6 Vhttps://www.phpini.com/linux/count-ip-connections
: P# U7 n. Q9 o0 q/ jhttps://www.phpini.com/linux/netstat-check-connections
- }) c6 h0 T$ E( c% y- E# X6 [+ z
4 _+ @2 z- N. k' R1 ~0 N1 w. ?4 i8 C$ P9 h3 {/ D9 M6 {
5 h0 u* k: F- {0 U. x
7 N6 F3 _ p$ C |