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

回到顶部