BSSID,一种特殊的Ad-hoc LAN的应用,也称为Basic Service Set (BSS),一群计算机设定相同的BSS名称,便可自成一个group。每一个BSS都会被赋予一个BSSID,它是一个长度为48位的二进制标识符,用来识别不一样的BSS。其的主要优势是它能够做为过滤之用。windows
BSSID 是指站点的 MAC 地址,(STA)在一个接入点,(AP)在一个基础架构模式, BSS 是由 IEEE 802.11-1999 无线局域网规范定义的。这个区域惟一地定义了每一个 BSS 。在一个 IBSS 中,BSSID 是一个本地管理的 IEEE MAC 地址,从一个 46 位的任意编码中产生。地址的个体/组位被设置为 0 。通用/本地地址位被设置为 1 。网络
以上话来自百度百科。架构
以前开发的时候是为了获取手机所链接的热点的MAC 地址,因此一直是寻找WiFi MAC 地址相关的API或者方法,但没有成功。app
位置数据可表示为 BSSID(若是网络适配器媒体类型是无线 LAN),或不是为元组 <ChassisId, Port Number>(若是网络适配器类型是以太网)。根据 LLDP 协议表示数据。编码
有关如何检索 LanIdentifier 对象表示的数据的示例,请参见 如何检索网络适配器和位置信息。 spa
直接贴代码吧.net
string GetLanIdentifierData(LanIdentifier lanIdentifier) { string lanIdentifierData = string.Empty; if (lanIdentifier == null) { return lanIdentifierData; } if (lanIdentifier.InfrastructureId != null) { lanIdentifierData += "Infrastructure Type: " + lanIdentifier.InfrastructureId.Type + "\n"; lanIdentifierData += "Infrastructure Value: "; var infrastructureIdValue = lanIdentifier.InfrastructureId.Value; foreach (var value in infrastructureIdValue) { lanIdentifierData += value + " "; } } if (lanIdentifier.PortId != null) { lanIdentifierData += "\nPort Type : " + lanIdentifier.PortId.Type + "\n"; lanIdentifierData += "Port Value: "; var portIdValue = lanIdentifier.PortId.Value; foreach (var value in portIdValue) { lanIdentifierData += value + " "; } } if (lanIdentifier.NetworkAdapterId != null) { lanIdentifierData += "\nNetwork Adapter Id : " + lanIdentifier.NetworkAdapterId + "\n"; } return lanIdentifierData; }
其中 lanIdentifier.InfrastructureId.Value 就是BSSID了,须要取出来,而且转为16进制。code
for (int i = 0; i < lanIdentifier.InfrastructureId.Value.Count; i++)
{ lanIdentifierData += lanIdentifier.InfrastructureId.Value[i].ToString("X2"); }
这获取的就是BSSID了,至少我获取的值与iPhone获取的值对比是同样的。orm
另外,IReadOnlyList<LanIdentifier> lanIdentifiers = NetworkInformation.GetLanIdentifiers(); Windows 8也支持。
但愿对您有帮助。