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也支持。
但願對您有幫助。