IT_man 發表於 2017-2-13 08:41:52

netstat 檢查 IP 連線數量及封鎖 IP

本帖最後由 IT_man 於 2017-2-13 09:04 編輯

配合 awk, cut, sort, uniq 指令, 可以印出每個 ip 的連線數量, 並用連線數量排序由多而小, 以下會針對 TCP ESTABLISHED 連線檢查:
netstat -an|grep ESTABLISHED|awk '/^tcp/ {print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|more針對 port 80 的連線, 將每個 ip 的連線數量印出並進行排序:
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

透過以上方法找到來源 ip 後, 例如 ip 是 x.x.x.x, 可以用 iptables 阻擋攻擊
封鎖 IP
iptables -A INPUT -p all -s x.x.x.x/32 -j DROP解除封鎖 IP
iptables -D INPUT -p all -s x.x.x.x/32 -j DROP
以上參考:
https://www.phpini.com/linux/linux-netstat-detect-ddos
https://www.phpini.com/linux/count-ip-connections
https://www.phpini.com/linux/netstat-check-connections




頁: [1]
查看完整版本: netstat 檢查 IP 連線數量及封鎖 IP