gtxyzz

读取连接数最多的IP并用IPTABLES禁用此IP

gtxyzz linux 2023-01-25 487浏览 0

        今天,我发现我服务器上有一些IP对我服务器恶意请求,就类似于SYN攻击,然后我写了一个SHELL,找出这些连接数比较多的IP,然后用IPTABLES禁用这些IP地址,这里我就贴出来我的SHELL是怎么写的
rm -f /root/ip.txt
service iptables restart
netstat -ntu | tail -n +3 | awk '{ print $5}' | cut -d : -f 1 | sort | uniq -c | sort -n -r | head -n 5 | grep -v 127.0.0.1 > /root/ip.txt
ip=($(awk '{print $2}' /root/ip.txt))
echo ${ip[*]}
iptables -I INPUT -s ${ip[0]} -j DROP
iptables -I INPUT -s ${ip[1]} -j DROP
iptables -I INPUT -s ${ip[2]} -j DROP
iptables -I INPUT -s ${ip[3]} -j DROP

把以上代码保存到一个文件里面,给与执行权限,然后用LINUX的任务计划一定时间自动执行这个SHELL
完成

我这个代码也是时间紧迫写出来的,里面还有不少地方可以改进,如果IPTABLES调用数组IP的时候,可以用一个for循环,因为我这里只禁用前4个IP,所以就直接把数组写进去了。

继续浏览有关 LINUX技术 的文章
发表评论