Очистите кеш arp на linux, действительно

И то и другое:

sudo ip -s -s neigh flush all 

А также:

 sudo arp -d 192.168.0.102 

Вместо очистки кэша arp они, похоже, просто недействительны записи (они будут отображаться как incomplete ). Даже через несколько минут кеш ARP выглядит так:

 $ 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 

(MAC-адрес шлюза обновлен – это нормально)

Как я могу действительно очистить кеш ARP, например, «удалить все записи из таблицы»? Я не хочу содержать неполные записи, я хочу, чтобы они были удалены. Это возможно?

РЕДАКТИРОВАТЬ

Это моя система:

 » 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 

  • Не реагировать на ARP w / request для IP 0.0.0.0
  • 3 Solutions collect form web for “Очистите кеш arp на linux, действительно”

     ip link set arp off dev eth0 ip link set arp on dev eth0 

    Ваше первое решение работает, вам просто нужно немного времени (5-10 секунд в моем тесте на Кали), чтобы перейти от «(неполного)» к никаким входам.

    Предположительно, он находится в каком-то переходном состоянии на пути к его удалению.

    В определенной системе ip команда недоступна.

     user@linux:~$ ip -bash: ip: command not found user@linux:~$ 

    Таким образом, это альтернатива ip link set arp off dev eth0; ip link set arp on dev eth0 ip link set arp off dev eth0; ip link set arp on dev eth0 команде ip link set arp off dev eth0; ip link set arp on dev eth0 .

    Если вы хотите удалить все записи из таблицы в одной команде, используйте for loop как в следующем примере.

    ДО

     user@linux:~$ arp ? (10.0.0.1) at 00:00:00:aa:aa:12 [ether] on eth1 ? (172.168.0.3) at 00:00:00:aa:aa:11 [ether] on eth2 user@linux:~$ 

    УДАЛЕНИЕ ARP С ARP-D COMMAND

     user@linux:~$ for i in 10.0.0.1 172.168.0.3; do sudo arp -d $i; done user@linux:~$ 

    ПОСЛЕ: МАК-АДРЕС, УДАЛЕННЫЙ ИЗ ЗАПИСИ С НЕПОЛНЫМ СООБЩЕНИЕ

     user@linux:~$ arp ? (10.0.0.1) at <incomplete> on eth1 ? (172.168.0.3) at <incomplete> on eth2 user@linux:~$ 

    Это правда, удалив arp с помощью команды arp -d , записи arp все еще присутствуют с incomplete сообщением.

    Чтобы решить эту проблему, используйте ifconfig ethx up/down как это

    ДО

     user@linux:~$ arp ? (10.0.0.1) at <incomplete> on eth1 ? (172.168.0.3) at <incomplete> on eth2 user@linux:~$ 

    ОТКЛЮЧАЙТЕ И ВКЛЮЧИТЕ ИНТЕРФЕЙСЫ ETH1 & ETH2 В ОДНОМ КОМАНДЕ

     user@linux:~$ for i in 1 2; do sudo ifconfig eth$i down; sudo ifconfig eth$i up; done user@linux:~$ 

    TADAAA … ПРОБЛЕМА РЕШАЛА 🙂

     user@linux:~$ arp user@linux:~$ 
    Interesting Posts
    Linux и Unix - лучшая ОС в мире.