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