tid=57071& 本帖最後由 IT_man 於 2017-2-13 09:04 編輯
: v; Z& _5 t8 B+ [! m. c: N4 b. y* ^8 M+ y8 P3 I
配合 awk, cut, sort, uniq 指令, 可以印出每個 ip 的連線數量, 並用連線數量排序由多而小, 以下會針對 TCP ESTABLISHED 連線檢查:
( p$ F C7 o$ B5 h/ \& D- netstat -an|grep ESTABLISHED|awk '/^tcp/ {print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|more
複製代碼 針對 port 80 的連線, 將每個 ip 的連線數量印出並進行排序:
* y# x9 P$ v. y. `# [- 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
複製代碼 " h6 I5 N! R4 ], X8 O; i! k
6 M& I+ H; N% ?5 H
透過以上方法找到來源 ip 後, 例如 ip 是 x.x.x.x, 可以用 iptables 阻擋攻擊
/ f0 o6 F/ r, f$ r6 k `3 v封鎖 IP: A( R; H) |( v2 Z
- iptables -A INPUT -p all -s x.x.x.x/32 -j DROP
複製代碼 解除封鎖 IP- t: k9 {; _% Z, z
- iptables -D INPUT -p all -s x.x.x.x/32 -j DROP
複製代碼
5 ^, d7 u" _9 j以上參考:
( I0 S8 v: S* s- v: r' m8 t- ghttps://www.phpini.com/linux/linux-netstat-detect-ddos- V& M8 K* f3 s9 G# h3 y! }& t
https://www.phpini.com/linux/count-ip-connections
- K" Y: o, x$ |, i2 Ehttps://www.phpini.com/linux/netstat-check-connections0 D) Y! `, ^* k: L" n9 l& e& }5 ]" U! Z
6 j" n, u# {( W7 ^4 V* k+ T! q
4 L6 S+ x) R6 E6 W6 X* ?% A1 `5 Y, ?0 q: {
0 \- `9 d0 H; p& | s
|