Wie lösche ich den ARP-Cache unter Linux, Windows und macOS?
Das Address Resolution Protocol (ARP) ist ein sehr wichtiger Bestandteil von IP-Netzwerken. ARP wird verwendet, um die OSI-Netzwerkschicht (Schicht 3) mit der OSI-Datenverbindungsschicht (Schicht 2) zu verbinden.
Um mit einem beliebigen Gerät im Netzwerk kommunizieren zu können, muss das Gerät über eine Ethernet-MAC-Adresse verfügen.
Was ist ARP-Cache?
Der ARP-Cache arbeitet als Bibliothek dynamischer ARP-Einträge. ARP-Einträge werden erstellt, wenn IP-Adressen aus den Hostnamen und dann in MAC-Adressen aufgelöst werden. Dieser Prozess ist dafür verantwortlich, dass die Geräte über IP-Adressen mit den verschiedenen Geräten kommunizieren können.
Gründe, warum Sie den ARP-Cache von Ihrem Computergerät löschen sollten
Das Löschen des ARP-Cache ist keine erforderliche Aufgabe.
Mit der Zeit wird die ARP-Datenbank jedoch veraltet, und die neuen Einträge überschreiben möglicherweise nicht immer die abgelaufenen Einträge in der Datenbank. So kann es die Netzwerkleistung beeinträchtigen und kann die Fehler werfen, die Ihr System beeinflussen können.
Wie kann ich feststellen, ob ein ARP-Cache-Problem mit Ihrem System vorliegt?
- Sie können bestimmte IP-Adressen nicht anpingen, wenn Sie wissen, dass diese ordnungsgemäß funktionieren.
- Sie können keine Websites laden, die auf verschiedenen Geräten gut oder richtig funktionieren.
Wenn Sie auf diese Art von Zeichen stoßen, sollten Sie den ARP-Cache sofort löschen!
Wenn Sie den ARP-Cache löschen, werden alle Anforderungen in Ihrer Datenbank gezwungen, den gesamten ARP-Prozess erneut zu durchlaufen.
Wie lösche ich den ARP-Cache unter Linux?
Um nach ARP-Cache-Einträgen zu suchen, können wir das arp-Befehlsprogramm unter Linux verwenden. Führen Sie den folgenden Befehl aus, um alle verfügbaren Einträge aufzulisten:
$ arp -nAddress HWtype HWaddress Flags Mask Iface192.168.1.240 ether 92:83:c6:3c:2a:9f C eth0192.168.225.1 ether a2:70:ce:72:65:13 C eth0192.168.1.26 ether 42:58:3a:d4:31:95 C eth0
Beachten Sie, dass in der Cache-Tabelle drei ARP-Cache-Einträge verfügbar sind. Wir werden die ARP-Cache-Tabelle weiter leeren.
Es gibt hauptsächlich zwei Methoden zum Löschen des ARP-Caches auf einem Linux-Computer.
- Verwenden des arp-Befehls
- Verwenden des IP-Befehls
Beide Befehlsdienstprogramme sind in den meisten Linux-Distributionen wie Kali Linux, Ubuntu, Arch Linux, CentOS, Debian, Fedora, RHEL usw. verfügbar.
Löschen des Cache mit dem Befehl arp
arp ist ein in Linux verfügbares Befehlszeilenprogramm zum Verwalten des Cache des Systems. arp
Befehl ermöglicht es Benutzern, bestimmte Cache-Einträge zu löschen. Wir können auswählen, welche Cache-Einträge geleert oder Cache gelöscht werden sollen.
Verwenden Sie einfach die Option -d, um die angezeigten Einträge zu leeren
$ arp -d 192.168.1.240
Um zu bestätigen, welche Enties gelöscht wurden, führen Sie den folgenden Befehl aus,
$ arp -nAddress HWtype HWaddress Flags Mask Iface192.168.225.1 ether a2:70:ce:72:65:13 C eth0192.168.1.26 ether 42:58:3a:d4:31:95 C eth0
Beachten Sie, dass der Cache-Eintrag für 192.168.1.240 gelöscht wird.
was bedeutet, dass der ARP-Eintrag aktualisiert wird, wann immer er benötigt wird.
Problem: Manchmal wird der Befehl
arp -d <IP-address>
verwendet, um den Cache zu entfernen, er hinterlässt die Tabelle mit Einträgen, bei denen HWaddress als(incomplete)
markiert ist, aber der Eintrag bleibt dort. Die Frage ist also, wie man den arp-Eintrag vollständig aus der Tabelle entfernt ODER die Tabelle leer macht?Wir können das IP-Befehlsprogramm für diese Art der Problemlösung verwenden. Lesen Sie den nächsten Punkt unter „Cache mit IP-Befehl löschen (ARP-Cache vollständig leeren)“
Cache mit IP-Befehl löschen (ARP-Cache vollständig leeren)
Das Löschen des ARP-Caches mit dem IP-Befehl ist unter Linux am meisten zu bevorzugen, da der vollständige ARP-Cache auf einmal gelöscht werden kann. der Befehl ip ist in neueren Linux-Distributionen integriert.
Verwenden Sie den folgenden Befehl, um den vollständigen ARP-Cache mit dem IP-Dienstprogramm zu löschen:
$ ip -s -s neigh flush all192.168.1.26 dev eth0 lladdr 42:58:3a:d4:31:95 ref 1 used 14/14/14 probes 4 REACHABLE192.168.1.240 dev eth0 lladdr 92:83:c6:3c:2a:9f ref 1 used 18/18/18 probes 4 REACHABLE192.168.225.1 dev eth0 lladdr a2:70:ce:72:65:13 used 246/246/215 probes 5 STALE*** Round 1, deleting 3 entries ****** Flush is complete after 1 round ***
Das erste -s liefert eine zusätzliche ausführliche Ausgabe.
Second -s, um die Nachbartabelle auszuwählen. Die Nachbartabelle mit dem Befehl ip
entspricht sowohl dem ARP- als auch dem NDISC-Cache.
Der Befehl löscht den ARP-Cache auf einmal vollständig aus dem System.
Um dies zu bestätigen, führen Sie einfach den folgenden Befehl aus,
$ arp -n
Wie lösche ich den ARP-Cache in Windows?
Das Löschen des ARP-Caches in Windows ist eine super einfache Aufgabe. Wir werden die Eingabeaufforderung verwenden, um den ARP-Cache zu löschen oder den ARP-Cache aus dem Windows-System zu leeren. Diese Methode kann auf jedes Windows-Betriebssystem wie Windows 7, Windows 8, Windows 10 usw. angewendet werden.
Hier müssen Sie die Eingabeaufforderung (cmd) als Administrator ausführen. Wenn Sie ein Administratorkonto haben, ist es in Ordnung, Sie können die cmd direkt ausführen. Wenn Sie jedoch nicht als Systemadministrator angemeldet sind, müssen Sie cmd als Administrator starten, damit der NetShell-Befehl funktioniert.
Um den Windows-ARP-Cache anzuzeigen, führen Sie einfach den Befehl arp -a
in der Eingabeaufforderung aus.
Um den ARP-Cache zu leeren, führen Sie einfach den folgenden Befehl aus: netsh
,
netsh interface IP delete arpcache
Nach dem löschen arp cache, bestätigen es durch rerunning arp -a
befehl.
Beachten Sie die Meldung „Keine ARP-Einträge gefunden.“, was bedeutet, dass der Windows ARP-Cache gelöscht oder geleert wird.
Wir können auch
arp -d <ip address>
verwenden, um den ARP-Cache nur für bestimmte Einträge in Windows zu löschen.
So löschen Sie den ARP-Cache in macOS oder OS X
Führen Sie die folgenden Schritte aus, um den ARP-Cache in macOS zu löschen oder zu leeren:
- Öffnen Sie Ihre Terminal-App.
- Fügen Sie diesen Befehl ein, um den aktuellen im System verfügbaren ARP-Cache anzuzeigen.
$ sudo arp -a? (192.168.1.240) at 92:83:c6:3c:2a:9f on en0 ifscope ? (192.168.1.26) at 42:58:3a:d4:31:95 on en0 ifscope ? (192.168.225.1) at a2:70:ce:72:65:13 on en0 ifscope permanent
- Verwenden Sie nun den folgenden Befehl, um den gesamten im macOS-System verfügbaren ARP-Cache zu löschen oder zu leeren.