User Tools

Site Tools


informatique:logiciels:arpwatch

Arpwatch

Arpwatch est un logiciel d'analyse de trafic réseau se basant sur la librairie pcap. Tournant en fond (démon), il écoute les requêtes ARP et log les couples d'adresses MAC/IP qu'il voit passer. Il garde une table des adresses connues et alerte (par mail ou dans un fichier de log) quand il rencontre de nouvelles adresses.

Arpwatch est packagé dans la majorité des distributions ; sous CentOS par exemple il s'installe de façon triviale :

yum install arpwatch

Options intéressantes

  • -e <mail> : pour envoyer les mails d'alerte à l'adresse spécifiée. Par défaut, c'est root ; si on indique “-”, aucun mail ne sera envoyé et les alerte seront envoyées uniquement vers le syslog.
  • -N désactive les alertes de bogon. Les “bogons” sont des machines qui possèdent une mauvaise adresse IP (hors plage).
  • -n <network>[/<mask>] permet de spécifier des adressages réseaux additionnels qui utilisent le même réseau physique (par exemple si on a 10.0.0.0/24 et 10.0.1.0/24 qui cohabitent sur le même réseau ethernet)
  • -i <interface> pour spécifier l'interface réseau à utiliser
  • -f <file> permet de personnaliser le nom du fichier pour enregistrer les couples d'adresses IP/MAC (arp.dat par défaut).
  • -d active la mode debug

On configure ses options de lancement dans le fichier :

vi /etc/sysconfig/arpwatch
 
# options par défaut :
#OPTIONS="-u arpwatch -e root -s 'root (Arpwatch)'"
 
OPTIONS="-u arpwatch -e - "

Ici on voit que le démon se lance sous l'utilisateur logwatch (-u logwatch), et qu'il n'enverra pas de mail (-e -).

Configuration des logs

Détermination d'un fichier dédié :

vi /etc/rsyslog.d/arpwatch.conf
 
:programname, startswith, "arpwatch" -/var/log/arpwatch
& ~

Suivi d'un service rsyslog restart.

Configuration de la rotation des logs :

vi /etc/logrotate.d/arpwatch
 
/var/log/arpwatch {
    missingok
    weekly
    rotate 104
    compress
    create 0644 root root
    postrotate
	/sbin/service arpwatch reload  2> /dev/null > /dev/null || true
    endscript
}

Spécimens de messages de log :

# exemple de machine vue pour la première fois :
Aug 28 15:54:33 ipscc2 arpwatch: new station 10.0.0.225 8:0:69:0:11:fc
 
# exemple de machines mal adressées (le réseau notre machine est 10.0.0.0/24) :
Aug 28 16:06:00 ipscc2 arpwatch: bogon 192.168.1.112 0:25:90:0:11:c
Aug 28 16:06:02 ipscc2 arpwatch: bogon 0.0.0.0 0:a0:98:0:11:50
informatique/logiciels/arpwatch.txt · Last modified: 2017/08/28 14:10 by pteu