проверьте, подключена ли беспроводная точка доступа - PullRequest
1 голос
/ 04 мая 2011

Я пишу сканер беспроводной сети linux, который предоставляет информацию о точках доступа, но он также должен проверить, подключена ли точка доступа и может ли она быть передана (т.е. шифрование работает должным образом).Недостаточно проверить его по ioctl(.., SIOCGIWAP, ..), потому что он на самом деле не проверяет, является ли ключ WPA правильным и может ли быть передана точка доступа.

Что я делаю, чтобы проверить, связан ли беспроводной интерфейс сAP:

  • проверка, если ioctl(...,SIOCGIWAP,...) возвращает MAC-адрес некоторой AP
  • проверка, если интерфейс настроен IP (я знаю, что он не даст никакой информации в случае статической конфигурации, но я могу жить с этим)
  • проверить, является ли шифрование (например, WEP, WPA, WPA2), используемое AP и клиентом, одинаковым (чтобы гарантировать, что после изменения метода шифрования на стороне AP, оно не будетбыть положительно обнаруженным как подключенное).

Я застрял в последней точке - я могу обнаружить шифрование, используемое точкой доступа, но я действительно не знаю, как проверить, какое шифрование используется моим хостом,У вас есть идея, как это проверить?Или, может быть, вы знаете лучшие способы определить, работает ли соединение между AP и клиентом (я не хочу использовать ICMP или что-то подобное - мой инструмент должен быть быстрым и, следовательно, делать все локально)

1 Ответ

0 голосов
/ 18 февраля 2012

Вызов ioctl с SIOCGIWENCODE запрашивает ключ шифрования вкл. Или выкл. (Который различает Open и Encrypted).

Вызов ioctl с SIOCGIWESSID запрашивает ESSID, после чего вы можете воспроизвести соответствие ESSID между хостом и AP.

Вызов ioctl с SIOCGIWENCODEEXT запрашивает тип шифрования (который различает WEP, WPA и WPA2 и т. Д.), Но только если он поддерживается драйвером ядра беспроводной карты.

...