4

私の地域で到達可能な信号のすべての 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);
}

方法があることを願っています。

4

2 に答える 2

1

MAC アドレスを取得するには、そのワイヤレス ネットワークに接続する必要があります。接続したら、従来の有線ネットワークと同じ方法を使用して、直接ネットワーク上のマシンの MAC アドレスを取得できるはずです。これを行う最善の方法は、arp -aコマンドの出力を解析することだと思います。

于 2009-11-29T13:57:10.717 に答える
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 に関連付けて、ネットワークの詳細 (強度) を見つける方法をまだ探しています。

于 2010-11-28T20:44:09.900 に答える