获取所有SSID及其mac地址的列表

时间:2009-11-29 13:28:52

标签: c# mac-address ssid

有没有办法获取我所在地区所有SSID及其可达信号的mac地址列表?

我在我的c#代码中尝试了Nativ WlanApi。我得到的是所有ssid的列表,但是 得到他们的mac地址,我不知道。

这是我用来获取列表的代码:

private void show_all_ssids_Click(object sender, EventArgs e)
{
  WlanClient client = new WlanClient();
  foreach ( WlanClient.WlanInterface wlanIface in client.Interfaces )
  {
    // Lists all available networks
    Wlan.WlanAvailableNetwork[] networks = wlanIface.GetAvailableNetworkList( 0 );
    this.ssidList.Text = "";
    foreach ( Wlan.WlanAvailableNetwork network in networks )
    {                    
      //Trace.WriteLine(  GetStringForSSID(network.dot11Ssid));
      this.ssidList.Text += GetStringForSSID(network.dot11Ssid) + "\r\n";
    }
  }
}
static string GetStringForSSID(Wlan.Dot11Ssid ssid)
{
  return Encoding.ASCII.GetString(ssid.SSID, 0, (int)ssid.SSIDLength);
}

我希望有办法。

2 个答案:

答案 0 :(得分:1)

要获取MAC地址,您需要连接到该无线网络。连接后,您应该能够使用与传统有线网络相同的方法获取直接网络上的机器的MAC地址 - 我相信这样做的最佳方式是解析{{的输出1}}命令。

答案 1 :(得分:0)

这是解决方案:

Dim networksBss As Wlan.WlanBssEntry() = SelectedWifiAdapter.GetNetworkBssList()

For car = 0 To networksBss(i).dot11Bssid.Length - 1
If Len(Hex(networksBss(i).dot11Bssid(car))) = 1 Then ThisScan(i).MAC = ThisScan(i).MAC & "0"
ThisScan(i).MAC = ThisScan(i).MAC & Hex(networksBss(i).dot11Bssid(car)) & ":"

Next

无论如何,我仍在寻找一种方法来查找网络的详细信息(强项)SSID=""将其与正确的MAC相关联。