Il mio server ha un utilizzo della CPU insolitamente elevato e vedo che Apache utilizza troppa memoria. Ho la sensazione, sono stato DOS da un singolo IP - forse puoi aiutarmi a trovarlo?Voci del file di registro del filtro in base all'intervallo di date
Ho usato la seguente linea, per trovare i 10 più IP "attive":
cat access.log | awk '{print $1}' |sort |uniq -c |sort -n |tail
La top 5 IP hanno circa 200 volte il numero di richieste al server, come l'utente "medio" . Tuttavia, non riesco a scoprire se questi 5 sono solo visitatori molto frequenti, o stanno attaccando i server.
C'è un modo, per specificare la ricerca sopra a un intervallo di tempo, ad es. le ultime due ore O tra le 10 e le 12 di oggi?
Cheers!
AGGIORNATO 23 ottobre 2011 - I comandi avevo bisogno:
Diventa iscrizioni entro le ore ultimo X [qui due ore]
awk -vDate=`date -d'now-2 hours' +[%d/%b/%Y:%H:%M:%S` ' { if ($4 > Date) print Date FS $4}' access.log
Get IP piu 'attivo nelle ultime ore X [qui due ore]
awk -vDate=`date -d'now-2 hours' +[%d/%b/%Y:%H:%M:%S` ' { if ($4 > Date) print $1}' access.log | sort |uniq -c |sort -n | tail
Ricevi voci all'interno relativo periodo
012.351.641.061.awk -vDate=`date -d'now-4 hours' +[%d/%b/%Y:%H:%M:%S` -vDate2=`date -d'now-2 hours' +[%d/%b/%Y:%H:%M:%S` ' { if ($4 > Date && $4 < Date2) print Date FS Date2 FS $4}' access.log
Get voci all'interno periodo assoluta
awk -vDate=`date -d '13:20' +[%d/%b/%Y:%H:%M:%S` -vDate2=`date -d'13:30' +[%d/%b/%Y:%H:%M:%S` ' { if ($4 > Date && $4 < Date2) print $0}' access.log
Get IP piu 'attivo nelle periodo assoluta
awk -vDate=`date -d '13:20' +[%d/%b/%Y:%H:%M:%S` -vDate2=`date -d'13:30' +[%d/%b/%Y:%H:%M:%S` ' { if ($4 > Date && $4 < Date2) print $1}' access.log | sort |uniq -c |sort -n | tail
Sono pigro; Copio il registro in Excel e creo una tabella pivot ... – Ben
@Ben "Ora hai due problemi." – tripleee