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.

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       

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)"

2
Witamy w U&L! Dlaczego <<< "$(</proc/net/fib_trie)"zamiast prostego </proc/net/fib_trie?
fra-san
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.