如何从/ proc获取接口的IPV4地址


24

是否有一种干净,简单的方法可以从中获取网络接口的IP地址/proc,类似于我可以获取网络接口的MAC地址的方法?
理想情况下,我只输入cat /proc/<foo>/{interface_name}并获取IPv4地址。

我宁愿不做任何事情cat

Answers:


23

/proc目录下,您还可以在转发信息库表中的以下位置找到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

它们以预定顺序出现;可能是优先事项,但是可以更改;除此之外,没有。
Rui F Ribeiro

2
/proc/net/fib_trie在我的RHEL 6.6系统上无法使用
villapx

1
@villapx fib_trie在2.6内核中不存在。
Rui F Ribeiro

无法将IP地址与fib_trie中的接口关联。
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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.