查找基于硬件的MAC地址并忽略具有MAC地址的其他设备

时间:2014-04-16 22:29:50

标签: visual-studio-2010

从Visual Studio中如何找到以太网或无线网卡的MAC地址,并忽略VPN虚拟mac地址以及其他可能在您查看ipconig时显示MAC地址的设备 - 所有我们只需找到MAC提供互联网连接的地址。

1 个答案:

答案 0 :(得分:0)

你在这里问几个问题。


第一个问题是:“如何确定哪个网络适配器提供到Internet的连接?”

该问题的答案是:“咨询routing table。”另外,"How does Windows 7 decide which route to take if 2 connections to an internet source exist? (e.g. a Wireless and an Ethernet one to a router)"

GetBestInterace函数将确定(基于路由表中的信息)连接到给定IP地址的最佳接口。


第二个问题是:“如何确定给定网络适配器的MAC地址?”

答案是GetAdaptersAddresses。此函数将返回IP_ADAPTER_ADDRESSES结构的链接列表。

从此,您应该能够找到IfIndex与您想要的匹配的那个(可能是来自GetBestInterace的那个)。或者,您可以查看每个结构的IfType,并专门查看任何IF_TYPE_ETHERNET_CSMACD(以太网)或IF_TYPE_IEEE80211(Wi-Fi)适配器。


您应该使用哪种方法的决定取决于您要完成的具体内容。