Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1038870
  • 博文数量: 836
  • 博客积分: 43880
  • 博客等级: 大将
  • 技术积分: 5485
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-20 17:36
文章分类

全部博文(836)

文章存档

2011年(1)

2008年(835)

我的朋友

分类: LINUX

2008-08-20 18:25:32


由于提供了FTP下载而又限制了线程,所以总发现有人不断用多线程进行尝试,这样会大大增加服务器的负荷,这种事“损人不利己”! 为了“惩罚”这种人,决定写个SHELL,在crond里每1分钟运行一次,自动统计非法线程的IP和线程数量,然后自动将他的IP地址写到iptables里,阻挡!
vi/usr/local/sbin/fuckgo
代码:

#!/bin/bash
fuck_who()
{
netstat-an|grep\\"210.51.184.197:21\\"|grep-vLISTEN|
grep-vESTABLISHED|awk\\''{print$5;}\\''|awk-F\\''=\\''
\\''{print$1;}\\''|sort|uniq-c|awk\\''{print$1\\"=\\"$2;}\\''
}

for_unin$(fuck_who)
do
if[$(echo$_un|awk-F\\''=\\''\\''{print$1;}\\'')-gt9]
then
iptables-IINPUT-s$(echo$_un|gawk-F\\''=\\''\\''{print$2;}\\'')-ptcp--dport21-jDROP
fi
done

vi/etc/crontab
添加
代码:

00-59/1****root/usr/local/sbin/fuckgo

/etc/rc.d/init.d/crondrestart
具体效果可以参看 [myimg][/myimg] 蓝色是总连接数,橙色是有效连接数 当蓝色超过橙色很多时,证明有人在贪得无厌地进行多线程尝试 从图上可以看出,蓝色瞬间值很高,但转瞬而逝,不会持续很久,因为那个人的IP已经进入了iptables“黑名单”。 (责任编辑:凌云通)


下载本文示例代码
阅读(281) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~