Linux获取所有网络接口名称
我需要收集所有接口名称,即使是目前还没有使用的接口名称。喜欢ifconfig -a
。
getifaddrs()
多次遍历同一接口名称。如何使用一次收集所有接口名称getifaddrs()
?
回答:
您可以检查getifaddrs中的哪些条目属于AF_PACKET系列。在我的系统上,似乎列出了所有接口:
struct ifaddrs *addrs,*tmp;getifaddrs(&addrs);
tmp = addrs;
while (tmp)
{
if (tmp->ifa_addr && tmp->ifa_addr->sa_family == AF_PACKET)
printf("%s\n", tmp->ifa_name);
tmp = tmp->ifa_next;
}
freeifaddrs(addrs);
以上是 Linux获取所有网络接口名称 的全部内容, 来源链接: utcz.com/qa/433913.html