需求:請根據web日志或者或者網路連接數,監控當某個IP并發連接數或者短時內PV達到100,即呼叫防火墻命令封掉對應的IP,
防火墻命令為:iptables-I INPUT -s IP地址 -j DROP,
腳本實作
#!/bin/bash
Info_File=/tmp/ddos_check.log
#從連接數獲取
#netstat -lant|awk -F "[ :]+" '/180:80/{clsn[$6]++}END{for(pol in clsn)print pol,clsn[pol]}' >$Info_File
# 從日志獲取
awk '{hotel[$1]++}END{for(pol in hotel)print pol,hotel[pol]}' access.log | sort -nk2 -r >$Info_File
while read line
do
Ip_Add=`echo $line |awk '{print $1}'`
Access=`echo $line |awk '{print $2}'`
if [ $Access -ge 10000 ]; then
iptables -I INPUT -s $Ip_Add -j DROP
elif [ $Access -le 5000 ]; then
echo "小于5000"
else
echo "大于5000小于10000"
fi
done <$Info_File
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/155255.html
標籤:Linux
上一篇:013.Kubernetes二進制所有節點部署kubelet
下一篇:Shell—輸入輸出重定向
