2009-11-29 54 views
4

有沒有辦法獲得我所在地區的所有SSID及其可達信號的MAC地址列表?獲取所有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); 
} 

我希望有一種方法。

+0

你有沒有想過如何將MAC與SSID關聯? – Zippy 2014-05-27 20:44:26

回答

1

爲了獲得MAC地址,您需要連接到該無線網絡。一旦你連接上了,你應該能夠使用你可能用於傳統有線網絡的相同方法獲得直接網絡中機器的MAC地址 - 我相信解析arp -a命令的輸出的最好方法是。

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關聯。

+1

需要把代碼放在代碼標記 – 2010-11-28 20:47:43

+1

請寫完整的代碼我是什麼? ThisScan是什麼?請等待你的回覆! – kartal 2010-12-05 22:49:14