Où se trouve le cache ARP sous Linux?

5

Où se trouve le cache ARP en mémoire? J'ai essayé de chercher en ligne mais je n'ai rien trouvé.

ssharma
la source
@Gilles Donc si je modifie /proc/net/arp, puis-je modifier indirectement le cache ARP?

Réponses:

9

GNU / Linux, contrairement à MacOSx, utilise le /proc structure de répertoire, a.k.a. procfs, pour stocker les données du système. le arp cache est situé à /proc/net/arp Vous imprimez les données à stdout directement à partir de ce fichier système via:

cat /proc/net/arp

J'ai réalisé que vous souhaitiez peut-être aussi l'adresse mémoire utilisée par le noyau pour trouver le cache arp. L'adresse exacte peut varier. Cependant, vous pouvez trouver la table des adresses mémoire pour toutes les adresses mémoire arp utilisées par le noyau dans /proc/kallsyms

cat /proc/kallsyms |grep arp_

Peut être utile aussi.

RubberStamp
la source
3
le /proc le répertoire ne le magasin n'importe quoi. Il affiche les choses stockées ou calculées par le noyau, et cela permet parfois de modifier ces choses, mais cela ne correspond à aucune zone de stockage. Dans le cas du cache ARP, vous pouvez en afficher le rendu au format texte. /proc/net/arp, mais vous voyez certaines structures de données du noyau qui ont été joliment imprimées. Vous ne voyez pas directement un fichier constituant le contenu du cache.
Gilles
3
C'est un endroit où «GNU / Linux» est faux. Vous faites référence au noyau, le noyau s'appelle uniquement «Linux».
Gilles