Mar 062012
 

Si votre routeur a un cache arp trop long, il est possible d’envoyer une trame ARP en broadcast ou ciblant directement le routeur où on déclare une IP et la MAC correspondante, et ainsi rafraîchir le cache.

Un inconvénient, la plupart des équipements réseau sécurise leur cache ARP pour éviter du ARP spoofing. Ils refusent les paquets de réponse ARP qui ne correspondent pas à une demande.

Un petit script pour envoyer ces paquets automatiquement en récupérant les adresses définis et la passerelle du système :

#!/bin/bash
 
TEST_IP=8.8.8.8
if [ ! -x /sbin/ip ] ; then
        apt-get install iproute -y
fi
if [ ! -x /bin/grep ] ; then
        apt-get install grep -y
fi
 
GW=`/sbin/ip route list | /bin/grep default | /usr/bin/awk '{print $3}'`
DEV=`/sbin/ip route list | /bin/grep default | /usr/bin/awk '{print $5}'`
 
if [ ! -x /usr/sbin/arping ] ; then
        apt-get install arping -y
fi
 
if [ ! -x /usr/bin/fping ] ; then
        apt-get install fping -y
fi
 
for ip in `/sbin/ip address list $DEV | /bin/grep "inet " | /usr/bin/awk '{print $2}' | /usr/bin/cut -d'/' -f1` ; do
        if [ `/usr/bin/fping -S $ip -c 1 $TEST_IP 2>&1 | /bin/grep "0% loss" | /usr/bin/wc -l` -eq 0 ] ; then
                echo "ARPING from $ip"
                /usr/sbin/arping -S $ip -c 1 -w 2 -i $DEV $GW &> /dev/null
        fi
done
 Posted by at 13 h 27 min  Tagged with: