我如何得到BSID/MAC(Media Access Control)地址?
请注意,我对wap的bssid感兴趣。这与wap网络部分的mac地址不同。

最佳答案

需要以编程方式执行以下操作:

netsh wlan show networks mode=Bssid | findstr "BSSID"

上面显示了接入点的无线mac地址,它不同于:
arp -a | findstr 192.168.1.254

这是因为接入点有两个mac地址。一个用于无线设备,一个用于网络设备。我想要无线mac,但是要用arp来连接mac。
使用Managed Wifi API
var wlanClient = new WlanClient();
foreach (WlanClient.WlanInterface wlanInterface in wlanClient.Interfaces)
{
    Wlan.WlanBssEntry[] wlanBssEntries = wlanInterface.GetNetworkBssList();
    foreach (Wlan.WlanBssEntry wlanBssEntry in wlanBssEntries)
    {
        byte[] macAddr = wlanBssEntry.dot11Bssid;
        var macAddrLen = (uint) macAddr.Length;
        var str = new string[(int) macAddrLen];
        for (int i = 0; i < macAddrLen; i++)
        {
            str[i] = macAddr[i].ToString("x2");
        }
        string mac = string.Join("", str);
        Console.WriteLine(mac);
    }
}

08-17 02:35