Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!
0 Пользователей и 1 Гость просматривают эту тему.
root@zakachkin-desktop:/home/zakachkin# /usr/local/ddos/ddos.sh[: 86: /usr/local/ddos/ddos.conf: unexpected operatorDDoS-Deflate version 0.6Copyright (C) 2005, Zaf <zaf@vsnl.com>$CONF not found.
у кого нибудь работает?? у меня пишет:Код: [Выделить]root@zakachkin-desktop:/home/zakachkin# /usr/local/ddos/ddos.sh[: 86: /usr/local/ddos/ddos.conf: unexpected operatorDDoS-Deflate version 0.6Copyright (C) 2005, Zaf <zaf@vsnl.com>$CONF not found.на редхотоподбных дистрибутивах всё пашет на ура!
[root@zakachkin ddos]# cat ./ddos.sh#!/bin/sh############################################################################### DDoS-Deflate version 0.6 Author: Zaf <zaf@vsnl.com> ################################################################################ This program is distributed under the "Artistic License" Agreement ## ## The LICENSE file is located in the same directory as this program. Please ## read the LICENSE file before you make copies or distribute this program ###############################################################################load_conf(){ CONF="/usr/local/ddos/ddos.conf" if [ -f "$CONF" ] && [ ! "$CONF" == "" ]; then source $CONF else head echo "\$CONF not found." exit 1 fi}head(){ echo "DDoS-Deflate version 0.6" echo "Copyright (C) 2005, Zaf <zaf@vsnl.com>" echo}showhelp(){ head echo 'Usage: ddos.sh [OPTIONS] [N]' echo 'N : number of tcp/udp connections (default 150)' echo 'OPTIONS:' echo '-h | --help: Show this help screen' echo '-c | --cron: Create cron job to run this script regularly (default 1 mins)' echo '-k | --kill: Block the offending ip making more than N connections'}unbanip(){ UNBAN_SCRIPT=`mktemp /tmp/unban.XXXXXXXX` TMP_FILE=`mktemp /tmp/unban.XXXXXXXX` UNBAN_IP_LIST=`mktemp /tmp/unban.XXXXXXXX` echo '#!/bin/sh' > $UNBAN_SCRIPT echo "sleep $BAN_PERIOD" >> $UNBAN_SCRIPT if [ $APF_BAN -eq 1 ]; then while read line; do echo "$APF -u $line" >> $UNBAN_SCRIPT echo $line >> $UNBAN_IP_LIST done < $BANNED_IP_LIST else while read line; do echo "$IPT -D INPUT -s $line -j DROP" >> $UNBAN_SCRIPT echo $line >> $UNBAN_IP_LIST done < $BANNED_IP_LIST fi echo "grep -v --file=$UNBAN_IP_LIST $IGNORE_IP_LIST > $TMP_FILE" >> $UNBAN_SCRIPT echo "mv $TMP_FILE $IGNORE_IP_LIST" >> $UNBAN_SCRIPT echo "rm -f $UNBAN_SCRIPT" >> $UNBAN_SCRIPT echo "rm -f $UNBAN_IP_LIST" >> $UNBAN_SCRIPT echo "rm -f $TMP_FILE" >> $UNBAN_SCRIPT . $UNBAN_SCRIPT &}add_to_cron(){ rm -f $CRON sleep 1 service crond restart sleep 1 echo "SHELL=/bin/sh" > $CRON if [ $FREQ -le 2 ]; then echo "0-59/$FREQ * * * * root /usr/local/ddos/ddos.sh >/dev/null 2>&1" >> $CRON else let "START_MINUTE = $RANDOM % ($FREQ - 1)" let "START_MINUTE = $START_MINUTE + 1" let "END_MINUTE = 60 - $FREQ + $START_MINUTE" echo "$START_MINUTE-$END_MINUTE/$FREQ * * * * root /usr/local/ddos/ddos.sh >/dev/null 2>&1" >> $CRON fi service crond restart}load_confwhile [ $1 ]; do case $1 in '-h' | '--help' | '?' ) showhelp exit ;; '--cron' | '-c' ) add_to_cron exit ;; '--kill' | '-k' ) KILL=1 ;; *[0-9]* ) NO_OF_CONNECTIONS=$1 ;; * ) showhelp exit ;; esac shiftdoneTMP_PREFIX='/tmp/ddos'TMP_FILE="mktemp $TMP_PREFIX.XXXXXXXX"BANNED_IP_MAIL=`$TMP_FILE`BANNED_IP_LIST=`$TMP_FILE`echo "Banned the following ip addresses on `date`" > $BANNED_IP_MAILecho >> $BANNED_IP_MAILBAD_IP_LIST=`$TMP_FILE`netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr > $BAD_IP_LISTcat $BAD_IP_LISTif [ $KILL -eq 1 ]; then IP_BAN_NOW=0 while read line; do CURR_LINE_CONN=$(echo $line | cut -d" " -f1) CURR_LINE_IP=$(echo $line | cut -d" " -f2) if [ $CURR_LINE_CONN -lt $NO_OF_CONNECTIONS ]; then break fi IGNORE_BAN=`grep -c $CURR_LINE_IP $IGNORE_IP_LIST` if [ $IGNORE_BAN -ge 1 ]; then continue fi IP_BAN_NOW=1 echo "$CURR_LINE_IP with $CURR_LINE_CONN connections" >> $BANNED_IP_MAIL echo $CURR_LINE_IP >> $BANNED_IP_LIST echo $CURR_LINE_IP >> $IGNORE_IP_LIST if [ $APF_BAN -eq 1 ]; then $APF -d $CURR_LINE_IP else $IPT -I INPUT -s $CURR_LINE_IP -j DROP fi done < $BAD_IP_LIST if [ $IP_BAN_NOW -eq 1 ]; then dt=`date` if [ $EMAIL_TO != "" ]; then cat $BANNED_IP_MAIL | mail -s "IP addresses banned on $dt" $EMAIL_TO fi unbanip fifirm -f $TMP_PREFIX.*[root@zakachkin ddos]#
##### Paths of the script and other filesPROGDIR="/usr/local/ddos"PROG="/usr/local/ddos/ddos.sh"IGNORE_IP_LIST="/usr/local/ddos/ignore.ip.list"CRON="/etc/cron.d/ddos.cron"APF="/etc/apf/apf"IPT="/sbin/iptables"##### frequency in minutes for running the script##### Caution: Every time this setting is changed, run the script with --cron##### option so that the new frequency takes effectFREQ=1##### How many connections define a bad IP? Indicate that below.NO_OF_CONNECTIONS=150##### APF_BAN=1 (Make sure your APF version is atleast 0.96)##### APF_BAN=0 (Uses iptables for banning ips instead of APF)APF_BAN=0##### KILL=0 (Bad IPs are'nt banned, good for interactive execution of script)##### KILL=1 (Recommended setting)KILL=1##### An email is sent to the following address when an IP is banned.##### Blank would suppress sending of mailsEMAIL_TO="root"##### Number of seconds the banned ip should remain in blacklist.BAN_PERIOD=60
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr > $BAD_IP_LIST
netstat -an | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' | sort | uniq -c | sort -nr > $BAD_IP_LIST
Страница сгенерирована за 0.042 секунд. Запросов: 21.