shell腳本例子

例子】網站受到大量主機的非正常連接時,對源ip地址的封鎖腳本

#!/bin/bash
touch all   
for i in `seq 1 50` //控制腳本的循環
do
sleep 1 時間控制
ip=`tail -30 /var/log/a.log |grep HTTP/1.1|awk '{print $1}'|sort -n|uniq`    //從一個假設的日誌文件中截取非正常連接主機的ip地址,依據是***的特徵
if  [ -z "$ip" ];then   //如果沒有這種主機
ehco "ok">>/dev/null
else
for m in `echo $ip` //如果有這些主機則遍歷
do
n=`grep -l "^$m$"  /root/all`// 從all文件裏查看是不是已經被禁止過
if [ $? -eq 1 ];then   //如果沒有被禁止過
 echo iptables -A  INPUT  -s  $m  -p tcp --dport 80 -j  DROP
 echo "iptables -A  INPUT  -s  $m  -p tcp --dport 80 -j  DROP"
 iptables -A  INPUT  -s  $m  -p tcp --dport 80 -j  DROP  //禁止
 echo $m>>/root/all //寫到all文件中
fi
done
fi

service iptables save//保存iptables規則

done

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章