
Для недавнего проекта разработки мне нужно получить учетные данные WIFi от пользователя и отправить их в wpa_supplicant для инициирования подключения WiFI. Я написал утилиту на C++, которая выполняет работу, но не так, как надо. Моя утилита настраивает и пытается инициировать подключение, используя заданные учетные данные. Если все прошло успешно, то проблем нет. Если не получается, я удаляю конфигурацию и жду действительных учетных данных от пользователя. И в качестве поддержки этого модуля я проверяю подключение к Интернету через соответствующий интерфейс в фоновом режиме, работает ли он или нет.
Хотя этот метод работает отлично, я чувствую, что это не правильный способ. Я просмотрел конфигурацию wpa_supplicant (довольно длинный документ), но не смог найти никакого решения. Все, что я хочу сделать, это перед настройкой supplicant проверить AP и убедиться, что учетные данные верны. Я знаю, что это невозможно без полного подключения к AP, но если есть способ проверить это без настройки supplicant, этого достаточно
Моя установка работает на Debian Stretch
решение1
Все, что я хочу сделать, это перед настройкой просителя проверить точку доступа и убедиться, что учетные данные верны.
Используйте следующую команду для подключения к точке доступабез написания файла конфигурации:
wpa_supplicant -i <Interface> -c(wpa_passphrase "Your-AP-here" Your-password-here)
Используйте -B
опцию для запуска команды в фоновом режиме.
Используйте grep
для фильтрации результатов или просто запустите, dhclient
чтобы убедиться в успешном подключении.