This commit is contained in:
pdiogoantunes 2017-08-10 14:40:49 +02:00
parent 480c68af96
commit b8daac315e

View file

@ -288,7 +288,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 |
@ -299,7 +299,7 @@ Et si l'on considère les mots comme une seule différence (et non par caractèr
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)
((diff<SEUIL)) && ((i=i+1)) || { echo "$i $line"; i=1; }; lastline="$line"; done)
~~~
C'est à dire que entre 2 requêtes du type :