Vorwort
Oftmals ist es nützlich, häufig vorkommende IP-Adresse aus dem access.log zu extrahieren. Zum Beispiel um festzustellen, ob es sich um einen DoS-Angriff handelt.
Voraussetzungen
- Damit der nachfolgende Shell-Befehl funktioniert, muss pcregrep installiert sein.
- Im access.log müssen die Zeilen mit der IP-Adresse anfangen, gefolgt von einem Leerzeichen. Dies ist in den meisten Standardkonfigurationen der Fall.
Befehle
pcregrep -o '^[0-9.]+(?=\s)' /path/to/access.log | sort | uniq -c | sort -bg
Wer nicht die Rechte hat, um pcregrep zu installieren, kann auch auf das Standard-grep zurückgreifen:
grep --color=none -o -iE '^[0-9.]+\s' /path/to/access.log | sort | uniq -c | sort -bg
Ausgabe
Die Ausgabe sieht dann zum Beispiel so aus:
1174 77.*.238.166 1175 217.*.199.212 1816 67.*.112.231 2354 46.*.192.32 2670 77.*.200.109 2779 85.*.118.78 2823 217.*.230.224 5145 77.*.231.27
Die Zahl vor der IP-Adresse ist die Anzahl der Vorkommen im access.log. Das Sternchen ist nur um die Beispiel-IPs zu zensieren.