Я пишу сканер беспроводной сети linux, который предоставляет информацию о точках доступа, но он также должен проверить, подключена ли точка доступа и может ли она быть передана (т.е. шифрование работает должным образом).Недостаточно проверить его по ioctl(.., SIOCGIWAP, ..)
, потому что он на самом деле не проверяет, является ли ключ WPA правильным и может ли быть передана точка доступа.
Что я делаю, чтобы проверить, связан ли беспроводной интерфейс сAP:
- проверка, если
ioctl(...,SIOCGIWAP,...)
возвращает MAC-адрес некоторой AP - проверка, если интерфейс настроен IP (я знаю, что он не даст никакой информации в случае статической конфигурации, но я могу жить с этим)
- проверить, является ли шифрование (например, WEP, WPA, WPA2), используемое AP и клиентом, одинаковым (чтобы гарантировать, что после изменения метода шифрования на стороне AP, оно не будетбыть положительно обнаруженным как подключенное).
Я застрял в последней точке - я могу обнаружить шифрование, используемое точкой доступа, но я действительно не знаю, как проверить, какое шифрование используется моим хостом,У вас есть идея, как это проверить?Или, может быть, вы знаете лучшие способы определить, работает ли соединение между AP и клиентом (я не хочу использовать ICMP или что-то подобное - мой инструмент должен быть быстрым и, следовательно, делать все локально)