Come ottenere l'indirizzo IPV4 per un'interfaccia da / proc


24

Esiste un modo semplice e chiaro per ottenere un indirizzo IP per un'interfaccia di rete /proc, simile al modo in cui posso ottenere l'indirizzo MAC per un'interfaccia di rete?
Idealmente, digitare cat /proc/<foo>/{interface_name}e ottenere l'indirizzo IPv4.

Preferirei non eseguire altro cat.

Risposte:


23

Nella /procdirectory, è inoltre possibile trovare gli indirizzi IPv4 nella tabella Base informazioni di inoltro, all'indirizzo/proc/net/fib_trie

Il tavolo è piuttosto intelligibile facendo un semplice cat, prima arriva il Main:e poiLocal:

cat /proc/net/fib_trie

o per vedere la tua rete, gli indirizzi IP e la maschera di rete:

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       

1
C'è un modo per ottenere l'interfaccia per ciascun indirizzo IP?
razeh,

Appaiono in un ordine predeterminato; probabilmente priorità, ma che può essere cambiato; a parte questo, no.
Rui F Ribeiro,

2
/proc/net/fib_trienon è disponibile sul mio sistema RHEL 6.6 qui al lavoro
villapx,

1
@villapx fib_trie non è presente nei kernel 2.6.
Rui F Ribeiro,

Non è possibile associare gli indirizzi IP all'interfaccia in fib_trie.
ZioByte il

0
$ awk '/32 host/ { print f } {f=$2}' <<< "$(</proc/net/fib_trie)"

2
Benvenuto in U&L! Perché <<< "$(</proc/net/fib_trie)"invece di un semplice </proc/net/fib_trie?
fra-san
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.