adresse ip log apache

Extraire les adresses IP d'un fichier log HTTP

Comment extraire toutes les adresses ip d'un log NCSA

lighttpd, varnish, sort, apache, ncsa, log, cut, uniq, adresse ip

Date de publication : 2012-09-17 19:24:22

Que vous utilisez Apache, Lighttpd ou Nginx cette ligne de commande devrait vous permettre d'obtenir toutes les adresses IP contenues dans votre fichier de log http :

root@home:~$ cat /var/log/varnish/varnishncsa.log | cut -f1 -d' '
66.249.71.103
66.249.71.41
66.249.71.41
66.249.71.103
66.249.71.103
66.249.71.103
66.249.71.41
66.249.71.143
66.249.71.103
66.249.71.214
66.249.71.136
66.249.71.41
66.249.71.103
66.249.71.143
66.249.71.143
66.249.71.136
66.249.71.136
66.249.71.136
66.249.71.136
66.249.71.251
66.249.71.251
66.249.71.103
66.249.71.103
66.249.71.228
66.249.71.228
66.249.71.143
66.249.71.41
66.249.71.214
66.249.71.136
66.249.71.41
66.249.71.41
66.249.71.41
66.249.71.41
66.249.71.41
66.249.71.41
66.249.71.41
66.249.71.41
66.249.71.41
66.249.71.41
66.249.71.103
66.249.71.136
66.249.71.41
66.249.71.41
66.249.71.41

Cette ligne de commande se base sur cut pour extraire le premier champ du fichier de log. Comme une grande partie des serveurs http modernes utilise le format NCSA, elle devrait fonctionner pour tous ces serveurs web.

Obtenir la liste des ip uniques

Une petite variante qui permet de dédoublonner la liste des adresses IP de votre fichier log en utilisant les commandes sort et uniq

cat /var/log/varnish/varnishncsa.log | cut -f1 -d' ' | sort | uniq
66.249.71.103
66.249.71.122
66.249.71.136
66.249.71.143
66.249.71.214
66.249.71.228
66.249.71.251
66.249.71.41

Image : Aiddy

 
 

b1n@sp1n