Jak uzyskać adres IPV4 dla interfejsu z / proc

24

Czy istnieje czysty, prosty sposób na uzyskanie adresu IP interfejsu sieciowego /proc, podobny do sposobu, w jaki mogę uzyskać adres MAC interfejsu sieciowego?
Idealnie byłoby po prostu wpisać cat /proc/<foo>/{interface_name}i uzyskać adres IPv4.

Wolałbym nie prowadzić niczego innego cat.

razeh
źródło

Odpowiedzi:

23

W /prockatalogu można również znaleźć adresy IPv4 w tabeli bazy danych przesyłania dalej, pod adresem/proc/net/fib_trie

Stół jest dość zrozumiały, robiąc tylko cat, najpierw przychodzi ten, Main:a potemLocal:

cat /proc/net/fib_trie

lub aby zobaczyć swoją sieć, adresy IP i maskę sieci:

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       
Rui F. Ribeiro
źródło
1
Czy istnieje sposób uzyskania interfejsu dla każdego adresu IP?
razeh
Pojawiają się w ustalonej kolejności; prawdopodobnie priorytet, ale można to zmienić; poza tym nie.
Rui F Ribeiro
2
/proc/net/fib_trienie jest dostępny w moim systemie RHEL 6.6 tutaj w pracy
villapx
1
@villapx fib_trie nie jest obecny w jądrach 2.6.
Rui F Ribeiro
Nie ma możliwości powiązania adresów IP z interfejsem w Fib_trie.
ZioByte
0
$ awk '/32 host/ { print f } {f=$2}' <<< "$(</proc/net/fib_trie)"
Pan Bóg
źródło
2
Witamy w U&L! Dlaczego <<< "$(</proc/net/fib_trie)"zamiast prostego </proc/net/fib_trie?
fra-san