我需要收集所有接口名称,即使是目前还没有使用的接口名称。喜欢ifconfig -a。
ifconfig -a
getifaddrs()多次遍历同一接口名称。如何使用一次收集所有接口名称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);