最新消息:时间抓起来说是金子,抓不住就是流水。

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

LINUX技术 老子黑牵翻 4499浏览 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服务器运维架构技术分享 » 读取连接数最多的IP并用IPTABLES禁用此IP

头像
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址