/ procからインターフェイスのIPV4アドレスを取得する方法


24

ネットワークインターフェース/procのMACアドレスを取得する方法と同様に、ネットワークインターフェースのIPアドレスをから取得するクリーンでシンプルな方法はありますか?
理想的には、単にcat /proc/<foo>/{interface_name}と入力してIPv4アドレスを取得します。

私はむしろ以外を走らせたくないcat

回答:


23

/procディレクトリの下で、Forwarding Information BaseテーブルのIPv4アドレスを見つけることもできます。/proc/net/fib_trie

テーブルはかなりわかりやすくcat、最初に来てMain:からLocal:

cat /proc/net/fib_trie

または、ネットワーク、IPアドレス、ネットマスクを確認するには:

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
各IPアドレスのインターフェイスを取得する方法はありますか?
razeh

それらは事前に決定された順序で表示されます。おそらく優先度が高いが、変更できる。それ以外はありません。
ルイFリベイロ

2
/proc/net/fib_trie職場のRHEL 6.6システムでは利用できません
-villapx

1
@villapx fib_trieは2.6カーネルには存在しません。
ルイFリベイロ

fib_trieのインターフェイスにIPアドレスを関連付ける方法はありません。
ZioByte

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

2
U&Lにようこそ!なぜ<<< "$(</proc/net/fib_trie)"単純な代わりに</proc/net/fib_trie
fra-san
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.