tid=57071& 本帖最後由 IT_man 於 2017-2-13 09:04 編輯 # k( O0 ~: T( y+ p
; \( r" `$ z8 @8 S5 f+ p1 u- N配合 awk, cut, sort, uniq 指令, 可以印出每個 ip 的連線數量, 並用連線數量排序由多而小, 以下會針對 TCP ESTABLISHED 連線檢查:
# h+ l- u- S; I) D5 b7 M- netstat -an|grep ESTABLISHED|awk '/^tcp/ {print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|more
複製代碼 針對 port 80 的連線, 將每個 ip 的連線數量印出並進行排序:
1 |4 L. R$ ^8 G2 S- 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
複製代碼
: [9 D- ^1 {! R( ? N0 `5 b3 ?7 i4 w2 X i2 q
透過以上方法找到來源 ip 後, 例如 ip 是 x.x.x.x, 可以用 iptables 阻擋攻擊8 D# j E# @/ ^" r' V" c
封鎖 IP. o. l+ M4 H( ?9 u
- iptables -A INPUT -p all -s x.x.x.x/32 -j DROP
複製代碼 解除封鎖 IP* n2 j" f( D0 t; E8 s( E
- iptables -D INPUT -p all -s x.x.x.x/32 -j DROP
複製代碼
, c6 A( ~4 F( b/ Q! @6 q% O以上參考:
! R& @9 @ j4 X6 U6 U+ K: lhttps://www.phpini.com/linux/linux-netstat-detect-ddos) J+ O1 Q$ s7 m4 {
https://www.phpini.com/linux/count-ip-connections
/ @/ }0 W; V0 x# D- bhttps://www.phpini.com/linux/netstat-check-connections: \6 F. V- z$ ]4 U/ {
& C$ Y4 _# g; n: o e4 t; M# H! l: U
0 s3 i9 S- Q. Y; k9 _# _% ~1 \2 B/ q& m) ?* ?( {
7 u k: Q! Q0 U9 J+ D
|