Beide:
sudo ip -s -s neigh flush all
Und:
sudo arp -d 192.168.0.102
Anstatt den Arp-Cache zu leeren, scheinen sie nur Einträge ungültig zu machen (sie erscheinen als incomplete
). Selbst nach einigen Minuten sieht der ARP-Cache so aus:
$ 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
(Der MAC des Gateways wurde aktualisiert - das ist in Ordnung)
Wie kann ich den ARP-Cache wirklich leeren, wie in "Alle Einträge aus der Tabelle löschen"? Ich möchte keine unvollständigen Einträge behalten, ich möchte, dass sie entfernt werden. Ist das möglich?
BEARBEITEN
Das ist mein System:
» 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
odertcpdump
.Antworten:
Stellen Sie sicher, dass Sie alles auf einmal erledigen, damit die Netzwerkkonnektivität nicht unterbrochen wird, bevor Sie ARP wieder aktivieren können.
quelle
dev=eth2; ip link set arp off dev $dev; sleep 1; ip link set arp on dev $dev
. Dassleep
kann nicht notwendig sein.Ihre erste Lösung funktioniert, es dauert nur ein wenig (5 bis 10 Sekunden in meinem Kali-Test), bis von "(unvollständig)" keine Einträge mehr vorhanden sind.
Vermutlich befindet es sich auf dem Weg zur Löschung in einem Übergangszustand.
quelle
In bestimmten Systemen ist der
ip
Befehl nicht verfügbar.Das ist also die Alternative der
ip link set arp off dev eth0; ip link set arp on dev eth0
Befehl.Wenn Sie mit einem einzigen Befehl alle Einträge aus der Tabelle löschen möchten, verwenden Sie
for loop
das folgende Beispiel.VOR
ARP ENTFERNEN MIT ARP -D BEFEHL
NACHHER: MAC-ADRESSE MIT UNVOLLSTÄNDIGER NACHRICHT VON DEN EINTRÄGEN ENTFERNT
Das stimmt, indem Sie arp mit
arp -d
Befehl löschen , sind die arp-Einträge immer noch mit daincomplete
message vorhanden.Um dieses Problem zu lösen, verwenden Sie
ifconfig ethx up/down
wie folgtVOR
DEAKTIVIEREN UND AKTIVIEREN SIE DIE SCHNITTSTELLEN ETH1 UND ETH2 IN EINEM EINZIGEN BEFEHL
TADAAA ... PROBLEM GELÖST :)
quelle
Ihre erwähnte Lösung ist der richtige und sichere Weg, um die ARP-Tabelle zu leeren:
ip neigh flush all [dev <device>]
Wenn bestimmte Einträge in ungültig geändert werden, ist dies temporär und Teil des ARP-Protokolls. Der wichtige Aspekt ist, dass die Zuordnung nicht mehr vorhanden ist. Ein als unvollständig gekennzeichneter ARP-Eintrag ist kein IP-MAC-Eintrag in der Tabelle.
Ich habe es gerade versucht und in meinem Fall hat es die Tabelle sofort gelöscht und keine unvollständigen Einträge hinterlassen.
quelle