Macos 为什么是ifconfig';s标记每个接口不同的值';s ifa_标志值以及如何获取ifconfigs值?
运行以下代码将为每个接口打印ifa_标志值。紧接着运行Macos 为什么是ifconfig';s标记每个接口不同的值';s ifa_标志值以及如何获取ifconfigs值?,macos,kernel,network-interface,ifconfig,Macos,Kernel,Network Interface,Ifconfig,运行以下代码将为每个接口打印ifa_标志值。紧接着运行ifconfig将为每个接口显示不同的标志值。为什么会这样?如何在不解析shell命令输出的情况下获取ifconfig的FLAGS值 void printFlags(){ struct ifaddrs *addrs, *nextAddr; getifaddrs(&addrs); nextAddr = addrs; while(nextAddr){ fprintf(stdout, "%s\' FLAGS: %u\n", n
ifconfig
将为每个接口显示不同的标志值。为什么会这样?如何在不解析shell命令输出的情况下获取ifconfig的FLAGS值
void printFlags(){
struct ifaddrs *addrs, *nextAddr;
getifaddrs(&addrs);
nextAddr = addrs;
while(nextAddr){
fprintf(stdout, "%s\' FLAGS: %u\n", nextAddr->ifa_name, nextAddr->ifa_flags);
nextAddr = nextAddr->ifa_next;
}
}
它们不同的原因是ifconfig决定以十六进制格式打印标志。尽管内核以int或short等形式传递该值。。。无论什么查看它的简单方法:
fprint(“标志:%x”,标志)代码>您能给出一个您看到的值的示例,并且ifconfig
打印的值吗?