Как найти список беспроводных сетей (SSID) на Java, C # и / или C?

Есть ли доступный инструментарий / пакет, который я мог бы использовать для поиска списка беспроводных сетей (SSID), доступных на Java, C # или C для Windows XP +? Мы будем благодарны за любой образец кода.


person Taylor Leese    schedule 27.05.2009    source источник


Ответы (3)


Для C # обратите внимание на Managed Wifi API, который является оболочкой для Native Wifi API, поставляемый с Windows XP SP2 и более поздними версиями.

Я не тестировал этот код, но глядя на образец кода Managed Wifi API, он должен перечислить доступные SSID.

WlanClient client = new WlanClient();
foreach ( WlanClient.WlanInterface wlanIface in client.Interfaces )
{
    // Lists all available networks
    Wlan.WlanAvailableNetwork[] networks = wlanIface.GetAvailableNetworkList( 0 );
    foreach ( Wlan.WlanAvailableNetwork network in networks )
    {                     
        Console.WriteLine( "Found network with SSID {0}.", GetStringForSSID(network.dot11Ssid));
    }
}

static string GetStringForSSID(Wlan.Dot11Ssid ssid)
{
    return Encoding.ASCII.GetString( ssid.SSID, 0, (int) ssid.SSIDLength );
}
person Dan Walker    schedule 27.05.2009

Ну, вы не указали ОС, поэтому для Linux я предлагаю Wireless Tools for Linux от Jean Tourrilhes (http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html). Команда iwlist () отображает много информации о доступных сетях. Исходный код находится на C. Другой способ - написать свой собственный код на C, используя libpcap для захвата кадров маяков и извлечения из них SSID (только в режиме монитора). Я еще не тестировал свой код сниффинга, поэтому я не буду вставлять его сюда, но это довольно простая работа.

person Abhishek Anand    schedule 11.06.2009

person    schedule
comment
Кажется, у нас нет другого пути, кроме этого - person Alireza Taghizadeh; 18.05.2015