2012-01-23 36 views
6

有一个称为if_nametoindex()的函数,可将接口名称转换为接口索引。此功能似乎可在Linux和Windows上使用。在Linux上,我想这些接口名称可能看起来像“eth0”或“wlan0”。windows“界面名称”是什么样的?

我的问题是:什么是Win32接口名称的样子?是否有任何呼叫让我查询可用的接口名称?

回答

5

还有if_indextoname。我已经添加了下面的输出。这种风格的名称(例如loopback_0)不是 Win32接口名称。我想这些名字只存在与rfc2553兼容。 Win32实际上使用接口名称,如\DEVICE\TCPIP_{846EE342-7039-11DE-9D20-806E6F6E6963}

要枚举所有需要使用GetIfTable和朋友的接口。不支持if_nameindex

loopback_0 
tunnel_0 
tunnel_2 
tunnel_3 
ppp_0 
ethernet_0 
ethernet_1 
ethernet_4 
ppp_1 
wireless_0 
ethernet_9 
tunnel_4 
tunnel_1 
tunnel_7 
tunnel_8 
wireless_5 
tunnel_5 
tunnel_9 
tunnel_10 
tunnel_6 
wireless_1 
wireless_2 
ethernet_2 
ethernet_3 
ethernet_5 
ethernet_6 
ethernet_7 
wireless_3 
wireless_4 
wireless_6 
wireless_7 
wireless_8 
2

它们看起来像\Device\NPF_{506B4345-1FC0-43F4-BFCF-4FFAD7739AFF}。我不知道是否有更直接的方式来获取接口列表,但我从wireshark中得到了这个接口,它使用winpcap

相关问题