Cara mendapatkan alamat IPV4 untuk antarmuka dari / proc


24

Adakah cara bersih dan sederhana untuk mendapatkan alamat IP untuk antarmuka jaringan /proc, mirip dengan cara saya bisa mendapatkan alamat MAC untuk antarmuka jaringan?
Idealnya saya cukup mengetikkan cat /proc/<foo>/{interface_name}dan mendapatkan alamat IPv4.

Saya lebih suka tidak menjalankan apa pun selain cat.

Jawaban:


23

Di bawah /procdirektori, Anda juga dapat menemukan alamat IPv4 di tabel Pangkalan Informasi Penerusan, di/proc/net/fib_trie

Tabel ini cukup dapat dimengerti hanya melakukan cat, pertama datang Main:dan kemudianLocal:

cat /proc/net/fib_trie

atau untuk melihat jaringan, alamat IP dan netmask Anda:

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
Apakah ada cara untuk mendapatkan antarmuka untuk setiap alamat IP?
razeh

Mereka muncul dalam urutan yang ditentukan sebelumnya; mungkin prioritas, tetapi itu bisa diubah; selain itu, tidak.
Rui F Ribeiro

2
/proc/net/fib_trietidak tersedia di sistem RHEL 6.6 saya di sini di tempat kerja
villapx

1
@villapx fib_trie tidak ada di kernel 2.6.
Rui F Ribeiro

Tidak ada cara untuk mengaitkan alamat ip dengan antarmuka di fib_trie.
ZioByte

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

2
Selamat datang di U&L! Kenapa <<< "$(</proc/net/fib_trie)"bukannya yang sederhana </proc/net/fib_trie?
fra-san
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.