18
0
Fork 0
This commit is contained in:
pdiogoantunes 2017-04-13 11:35:09 +02:00
parent 74c5e0d388
commit 2518e31558
1 changed files with 3 additions and 3 deletions

View File

@ -261,7 +261,7 @@ Les différentes requêtes sont comparés aux nombres de caractères différent.
~~~{.bash}
SEUIL=20; i=1; lastline=; cat access.log | sed 's/.*\] \(.*\)\" [0-9]\{3\}.*$/\1\"/' | \
(while read line; do diff=$(cmp -bl <(echo "$lastline") <(echo "$line") 2>/dev/null | wc -l); \
(( diff < SEUIL )) && { i=$((i+1)); } || { echo "$i $line"; i=1; }; lastline="$line"; done)
((diff<SEUIL)) && ((i=i+1)) || {echo "$i $line"; i=1;}; lastline="$line"; done)
~~~
Si on veut les adresses IPs, ou simplement trier le access.log avant l'analyse, il faut modifier après le : cat acccess.log |
@ -271,8 +271,8 @@ Et si l'on considère les mots comme une seule différence (et non par caractèr
~~~{.bash}
SEUIL=3; i=1; lastline=; cat access.log | sed 's/.*\] \(.*\)\" [0-9]\{3\}.*$/\1\"/' | \
(while read line; do diff=$(cmp -bl <(echo "$lastline") <(echo "$line") 2>/dev/null | awk '{print $1}' | \
(compt=0; lastnumber=0; while read number; do (( lastnumber+1 != number)) && ((compt=compt+1)); lastnumber=$number; done; echo $compt)); \
(( diff < SEUIL )) && { i=$((i+1)); } || { echo "$i $line"; i=1; }; lastline="$line"; done)
(compt=0; lastnumber=0; while read number; do ((lastnumber+1!=number)) && ((compt=compt+1)); lastnumber=$number; done; echo $compt)); \
((diff<SEUIL)) && ((i=i+1)) || {echo "$i $line"; i=1;}; lastline="$line"; done)
~~~
C'est à dire que entre 2 requêtes du type :