table

introduction

c'est quoi, Unix?

les Unix d'aujourd'hui

la console

accéder à la console

la ligne de commande

à la découverte du système de fichier

les attributs des fichiers

à propos du noyau

les processus

shell et ligne de commande

les variables d'environnement

les "pipes"

redirections et descripteurs de fichiers

un exemple

allons plus loin

allons plus loin

modifié le 02/09/2007 00:30:17

maintenant que nous avons la liste des IP de nos fraudeurs, nous aimerions en savoir un peu plus sur eux

la commande resolveip est notre amie et fonctionne dans les deux sens:

narberd@MacNarb:~$ resolveip www.google.fr
IP address of www.google.fr is 64.233.183.147
IP address of www.google.fr is 64.233.183.103
IP address of www.google.fr is 64.233.183.99
IP address of www.google.fr is 64.233.183.104
narberd@MacNarb:~$ resolveip 64.233.183.147
Host name of 64.233.183.147 is nf-in-f147.google.com

dans le premier cas, nous partons du nom de domaine et nous obtenons une ou plusieurs adresses IP, dans le second cas, nous partons d'une adresse IP et nous obtenons un nom de machine, comprenant le nom de domaine

l'ennui, c'est que resolveip reçoit les adresses IP une à une, mais Unix étant génial, nous avons la commande xargs une_commande qui nous permet d'exécuter une_commande avec chaque mot de l'entrée standard de xargs, les séparateurs étant les espaces et les sauts de ligne

voici donc notre nouvelle ligne de commande :

grep "Failed password for root from" /var/log/auth.log | \
    grep sshd | \
    cut -d ' ' -f 11 | \
    sort | \
    uniq | \
    xargs resolveip

il arrive que des IP ne soient plus accessibles au moment précis où l'on exécute notre commande, ce qui laisse apparaître des messages d'erreur qui ne nous intéressent pas spécialement, alors, pour éviter cela, on redirige la sortie d'erreur vers /dev/null:

grep "Failed password for root from" /var/log/auth.log | \
    grep sshd | \
    cut -d ' ' -f 11 | \
    sort | \
    uniq | \
    xargs resolveip 2> /dev/null