linux 查看日志文件 封禁今日请求过多的ip

 查今日日志文件禁ip

主要内容为:(封禁ip脚本处理 在最下方)

        1、查看今日请求服务ip次数大于19次的ip(防止误封自己)

        2、 查出的ip和厉害保存的ip对比,拿出新增加的ip

        3、对ip进行处理,执行封禁ip脚本处理

        4、写入封禁ip文件,并写入日志

#!/bin/bash

DATE=$(date +%Y/%m/%d%t%H:%M:%S)
DayTime=$(date +%Y/%m/%d)

if [ ! -f ip.log ]
then
    touch  ip.log
fi


ipStr=""
function getIpStr(){
echo $ipStr
    while read lineIp
    do
      ipStr=${ipStr}${lineIp}" "
   done <  add_ip.log
}

cat /var/log/nps.log |grep ${DayTime} |grep "port 22"| awk '{print $12}'|awk -F[:" "]+ '{print $1}'|sort | uniq -c |awk '{if ($1  > 19) {print $2} }' > tmp_ip.log &&
[ -s tmp_ip.log ] &&
echo "比对历史数据" &&
grep -v -f ip.log tmp_ip.log > add_ip.log &&
[ -s add_ip.log ] &&
echo "增加过滤ip内容" && getIpStr && sh ~/ip_deny.sh ${ipStr} &&
cat add_ip.log >> ip.log &&
echo -e "\n====>记录时间: "${DATE}"<<====" >> log_ip.log &&
cat add_ip.log >> log_ip.log &&
#rm -f  tmp_ip.log &&
echo "ip处理完成"

 ip_deny.sh  (ip封禁脚本)

#!/bin/bash

echo "-- \$* 封禁ip操作 ---"
for i in "$@"; do
    iptables -I INPUT -s $i -j DROP
    echo "封禁ip:"$i
done

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值