Как сканировать беспроводные устройства, которые существуют в сети
Сейчас моя команда работает в сетевом проекте, используя приложение Windows C#.
Как сканировать беспроводные устройства, которые существуют в сети. Функциональность точно такая же, как в существующих утилитах Windows в операционной системе Windows. Я уверен, что вы испытали, когда вы подключаете беспроводную карту ноутбука, появляется окно, которое показывает вам все точки доступа, к которым он обнаруживает подключение. Как захватить эту информацию, перечисленную ниже
- MAC-адрес
- Айпи адрес
- SSID
- канал
- Отметка
- Тип шифра
- Уровень шифрования
- Сила сигнала
Я использовал Kismet или NetStumbler. Пожалуйста, предложите хорошую библиотеку / код
4 ответа
Если вы готовы вкладывать деньги, тогда вы можете использовать WiFi-Manager/ Advanced WiFi-Manager
WiFi-Manager - это инструмент разработчика, который позволяет вам управлять подключениями и настройками WiFi в Windows XP SP2 и Windows Vista, используя один набор функций API, хотя в этих версиях Windows используются абсолютно разные API для управления беспроводной сетью. Кроме того, WiFi-Manager предоставляет интерфейс COM для всех функций API, так что вы можете просто управлять настройками WiFi из VB или таких языков.NET, как VB.NET или C#.
WiFi-Manager содержит функции для перечисления адаптеров WiFi, перечисления доступных сетей и получения их настроек, функции для подключения и отключения к сетям, функции для работы с профилями беспроводных сетей и т. Д.
Advanced WiFi-Manager - это инструмент нового поколения, он поддерживает все функции, которые есть у WiFi-Manager, но также может использовать NDIS для управления адаптерами WiFi и работает в Windows 2000/2003/XP/Vista/Windows7 и не зависит от пакетов обновления или исправлений. установлены!
Надеюсь это полезно
Вы можете использовать API управляемого Wi-Fi. Это просто оболочка для Native Wifi Api, которая доступна для Windows XP и более поздних версий.
Этот код должен показать доступные сети:
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 );
}
Вы должны использовать ****native WiFi API**** для этого есть набор функций, которые вам необходимо использовать в первую очередь, используйте openhandler()
getEnuminterface() здесь вы получите GUID вашего оборудования WiFi wlanscann ()
wlangetavailablenetworklist () здесь в качестве вывода вы получите структуру, в которой вы можете найти всю вышеуказанную информацию.
closehandler()
просто покопайтесь в natice WiFi, вы получите всю информацию. я думаю, что вы получили ответ, что вы хотите
Вы можете начать с этого " Как программно определить Wi-Fi маршрутизаторы и уровень сигнала?"