如何在不使用 ifconfig/ip 命令的情况下列出 Linux 上的网络设备和 ipv4 地址

如何在不使用 ifconfig/ip 命令的情况下列出 Linux 上的网络设备和 ipv4 地址

这不是重复的如何获取我自己的 IP 地址并将其保存到 shell 脚本中的变量中?;这是一种复兴的尝试如何在不使用 ifconfig/ip 命令的情况下列出 Linux 上的网络设备和 ipv4 地址它被错误地标记为第一个的重复。

那么,在 ip、netstat 或 ifconfig 都不可用的系统中,如何才能看到旧版 IPv4 地址呢?

该系统是一个运行最新 debian 的 docker 容器。

答案1

接口:/proc/net/dev

没有/proc/sys具有 IP 地址的文件,但如果您有侦听服务或打开的连接,则可以间接提取它们。检查:/proc/net/tcp/proc/net/tcp6

答案2

另一种选择是busybox。它包括 ifconfig 和 ip 实现。

另一种选择是编写自己的子集以ip使用 netlink 来请求相关数据。您还可以使用ifconfig.

另一种选择是检查 DHCP 客户端写入的日志文件。事实上,如果它将您的租约记录到磁盘上,也就不足为奇了。它可能在/var/lib/dhcp/(至少,我的是)。如果您需要定期对地址执行某些操作,则可以修改用于在获得租约时更新系统的脚本。

相关内容