Ambos:
sudo ip -s -s neigh flush all
Y:
sudo arp -d 192.168.0.102
En lugar de borrar el caché de arp, parecen invalidar las entradas (aparecerán como incomplete
). Incluso después de algunos minutos, el caché ARP se ve así:
$ arp -n
Address HWtype HWaddress Flags Mask Iface
192.168.0.103 (incomplete) eth0
192.168.0.1 ether DE:AD:BE:EF:DE:AD C eth0
(El MAC de la puerta de enlace se ha actualizado, eso está bien)
¿Cómo puedo realmente borrar el caché ARP, como en "eliminar todas las entradas de la tabla"? Yo no quiero seguir entradas incompletas, quiero las retiren. es posible?
EDITAR
Este es mi sistema:
» arp --version
net-tools 1.60
arp 1.88 (2001-04-04)
+I18N
AF: (inet) +UNIX +INET +INET6 +IPX +AX25 +NETROM +X25 +ATALK +ECONET +ROSE
HW: (ether) +ETHER +ARC +SLIP +PPP +TUNNEL -TR +AX25 +NETROM +X25 +FR +ROSE +ASH +SIT +FDDI +HIPPI +HDLC/LAPB +EUI64
» lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.2 LTS
Release: 14.04
Codename: trusty
» uname -a
Linux polyphemus.xxx-net 3.13.0-46-generic #77-Ubuntu SMP Mon Mar 2 18:23:39 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
wireshark
otcpdump
.Respuestas:
Asegúrese de hacerlo todo de una vez, para no interrumpir la conectividad de la red antes de poder volver a activar ARP.
fuente
dev=eth2; ip link set arp off dev $dev; sleep 1; ip link set arp on dev $dev
. Elsleep
puede no ser necesario.Su primera solución funciona, solo toma un poco de tiempo (5-10 segundos en mi prueba en Kali) para pasar de "(incompleto)" a ninguna entrada.
Presumiblemente está en algún tipo de estado de transición en camino a ser eliminado.
fuente
En cierto sistema, el
ip
comando no está disponible.Entonces esta es la alternativa del
ip link set arp off dev eth0; ip link set arp on dev eth0
comando.Si desea eliminar todas las entradas de la tabla en un solo comando, use
for loop
como en el siguiente ejemplo.ANTES DE
QUITANDO ARP CON ARP -D COMMAND
DESPUÉS: LA DIRECCIÓN MAC SE QUITÓ DE LAS ENTRADAS CON MENSAJE INCOMPLETO
Eso es cierto, al eliminar arp con el
arp -d
comando, las entradas de arp siguen ahí con elincomplete
mensaje.Para resolver este problema, use
ifconfig ethx up/down
asíANTES DE
DESACTIVAR Y ACTIVAR LAS INTERFACES ETH1 Y ETH2 EN UN SOLO MANDO
TADAAA ... PROBLEMA RESUELTO :)
fuente
Su solución mencionada es el enfoque correcto y seguro para vaciar la tabla ARP:
ip neigh flush all [dev <device>]
Si ciertas entradas se cambian a inválidas, eso es temporal y forma parte del protocolo ARP. El aspecto importante es que la asignación se ha ido, una entrada ARP marcada como incompleta no es una entrada IP-MAC en la tabla.
Acabo de probar esto y, en mi caso, borró inmediatamente la tabla y no dejó entradas incompletas.
fuente