APACHE Script monitor hits/day

23/08/2006 by - Apache, Bash, Linux

#  Script per conteggiare le richieste di un singolo ip all’interno del access log
#+ e monitorare attivita’ di richieste sospette.

#check utente ROOT
ROOT_UID=0

#codice errore se nn root
E_NONROOT=67

if [ “$UID” -ne “$ROOT_UID” ]
then
echo “Devi essere root….”
exit $E_NONROOT
fi

if [ ! “$(echo $1 | grep ‘[0-9]\{1,3\}[.][0-9]\{1,3\}[.][0-9]\{1,3\}[.][0-9]\{1,3\}’)” ]
then
echo “Uso: `basename $0` indirizzo_IP numero_giorni”
exit 1
fi

IP=$1

echo “—————————–”
if [ -n “$2″ ]
then
for i in $(seq 0 $2); do
DATA_PER_ACCESSLOG=$(date –date=”$i day ago” ‘+%d/%b’)
TOT=`grep -c $IP.*$DATA_PER_ACCESSLOG /var/www/htdocs/web/logs/web-access.log`
echo $DATA_PER_ACCESSLOG ”  ” $IP ”  ” $TOT
# echo $i
done
else
#date –date=’2 day ago’ ‘+%s’
DATA_PER_ACCESSLOG=`date +’%d/%b’`
TOT=`grep -c $IP.*$DATA_PER_ACCESSLOG /var/www/htdocs/web/logs/web-access.log`
echo $DATA_PER_ACCESSLOG ”  ” $IP ”  ” $TOT
fi
echo “—————————–”

exit 0



Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.