Existe-t-il un moyen simple et propre d'obtenir une adresse IP pour une interface réseau à partir de /proc
, similaire à la façon dont je peux obtenir l'adresse MAC pour une interface réseau?
Idéalement, je taperais simplement chat /proc/<foo>/{interface_name}
et obtenez l'adresse IPv4.
Je préfère ne pas exécuter autre chose que cat
.
Sous le /proc
, vous pouvez également trouver les adresses IPv4 dans le tableau de la base d'informations de transfert, à /proc/net/fib_trie
Le tableau est assez intelligible faisant un simple cat
, vient d'abord le Main:
et alors Local:
cat /proc/net/fib_trie
ou pour voir votre réseau, vos adresses IP et votre masque de réseau:
cat /proc/net/fib_trie | grep "|--" | egrep -v "0.0.0.0| 127."
|-- 193.136.1.0
|-- 193.136.1.2
|-- 193.136.1.255
|-- 193.136.1.0
|-- 193.136.1.2
|-- 193.136.1.255
$ awk '/32 Host/ { print f } {f=$2}' <<< "$(</proc/net/fib_trie)"