是否有一种干净、简单的方法可以从 获取网络接口的 IP 地址/proc,类似于获取网络接口的 MAC 地址的方式?
理想情况下,我只输入 cat/proc/<foo>/{interface_name}并获取 IPv4 地址。
除了cat.
Rui*_*iro 42
在/proc目录下,您还可以在转发信息库表中找到 IPv4 地址,位于/proc/net/fib_trie
这张桌子很容易理解cat,首先是Main:,然后Local:
cat /proc/net/fib_trie
Run Code Online (Sandbox Code Playgroud)
或查看您的网络、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
Run Code Online (Sandbox Code Playgroud)
小智 6
可以将来自 的网络地址/proc/net/fib_trie与来自 的接口相关联/proc/net/route:
$ awk '/^[^I]/ {print $1 " " $2}' /proc/net/route
br0 0001020A
br0 FE01020A
Run Code Online (Sandbox Code Playgroud)
..并使用以下命令转换十六进制网络地址:
$ echo FE01020A | xxd -r -p | hexdump -e '/1 "%u."' | tac -s'.' | sed 's/\.$//'
10.2.1.254
Run Code Online (Sandbox Code Playgroud)
小智 5
$ awk '/32 host/ { print f } {f=$2}' <<< "$(</proc/net/fib_trie)"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
35200 次 |
| 最近记录: |