2005-08-24 10:00 am
作者:linux寶庫 (http://www.linuxmine.com)
來自:linux寶庫 (http://www.linuxmine.com)
現存:http://www.linuxmine.com/2863.html
聯繫:linuxmine#gmail.com
不明白?歡迎到 linux論壇 (http://bbs.linuxmine.com) 參加討論!
作者:白金 網名:platinum(chinaunix) 超超白金(白金論壇)
歡迎轉載,轉載請保留上述信息
===========================================================================
由於提供了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 -v LISTEN|grep -v ESTABLISHED|awk ///'{print $5;}///'|awk -F///'=///' ///'{print $1;}///'|sort|uniq -c|awk ///'{print $1///"=///"$2;}///'
}
for _un in $(fuck_who)
do
if [ $(echo $_un|awk -F///'=///' ///'{print $1;}///') -gt 9 ]
then
iptables -I INPUT -s $(echo $_un|gawk -F///'=///' ///'{print $2;}///') -p tcp --dport 21 -j DROP
fi
done
vi /etc/crontab
添加
代碼:
00-59/1 * * * * root /usr/local/sbin/fuckgo
/etc/rc.d/init.d/crond restart