Wo ist der ARP-Cache unter Linux?

6121
ssharma

Wo ist der ARP-Cache im Speicher vorhanden? Ich habe es online gesucht, aber nichts gefunden.

5
@Gilles Also wenn ich `/ proc / net / arp` modifiziere, würde ich den ARP-Cache indirekt ändern? vor 6 Jahren 0

1 Antwort auf die Frage

9
RubberStamp

Im Gegensatz zu MacOSx verwendet GNU / Linux die /procVerzeichnisstruktur aka procfs, um Systemdaten zu speichern. Das arp cachebefindet sich unter /proc/net/arp Sie drucken die Daten stdoutdirekt aus dieser Systemdatei über:

cat /proc/net/arp 

Ich habe festgestellt, dass Sie möglicherweise auch die Speicheradresse wünschen, die der Kernel verwendet, um den Arp-Cache zu finden. Die genaue Adresse kann variieren. Sie können jedoch die Speicheradressentabelle für alle vom Kernel verwendeten ARP-Speicheradressen finden/proc/kallsyms

cat /proc/kallsyms |grep arp_ 

Kann auch hilfreich sein.

Das `/ proc`-Verzeichnis speichert * nichts. Es * zeigt * Dinge an, die vom Kernel gespeichert oder berechnet wurden, und erlaubt manchmal das Ändern dieser Dinge, entspricht jedoch keinem Speicherbereich. Im Fall des ARP-Caches können Sie eine Textdarstellung über `/ proc / net / arp` anzeigen, aber Sie sehen einige Kernel-Datenstrukturen, die ziemlich gedruckt wurden. Sie sehen keine direkt Datei, die den Inhalt des Cache darstellt. Gilles vor 6 Jahren 3
Dies ist ein Ort, an dem "GNU / Linux" falsch ist. Sie beziehen sich auf den Kernel, der Kernel heißt nur "Linux". Gilles vor 6 Jahren 3