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