如何仅使用 proc获得所有网络接口的(IPv4)地址?经过广泛的调查,我发现了以下内容:
ifconfig
SIOCGIFADDR
proc
/proc/net/dev
/proc/net/if_inet6
getifaddrs
没有/ proc / net / if_inet6的IPv4类似物
ifconfig可以:
fd = socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) ioctl(fd, SIOCGIFCONF, ...)
您将获得如下内容:
ioctl(4, SIOCGIFCONF, {120, {{"lo", {AF_INET, inet_addr("127.0.0.1")}}, {"eth0", {AF_INET, inet_addr("10.6.23.69")}}, {"tun0", {AF_INET, inet_addr("10.253.10.151")}}}})