wpa-Supplicant - Erprobung des AP vor der Verbindung zum Überprüfen der Anmeldeinformationen

357
charith

Für ein kürzlich erstelltes Entwicklungsprojekt muss ich die WIFI-Anmeldeinformationen vom Benutzer abrufen und an wpa_supplicant senden, um die WiFI-Konnektivität zu initiieren. Ich habe ein Programm mit C ++ geschrieben, das zwar den Job erledigt, aber nicht den richtigen Weg. Mein Zweck ist es, die Verbindung mit den angegebenen Anmeldeinformationen einzurichten und zu initiieren. Bei Erfolg kein Problem. Wenn dies fehlschlägt, entferne ich die Konfiguration und warte auf gültige Anmeldeinformationen vom Benutzer. Und als Unterstützung für dieses Modul prüfe ich die Internet-Konnektivität über die entsprechende Schnittstelle im Hintergrund, ob es nun aktiv ist oder jetzt

Obwohl diese Methode perfekt funktioniert, habe ich das Gefühl, dass dies nicht der richtige Weg ist. Ich ging durch wpa_supplicant config (was ziemlich lang ist doc), aber ich konnte keine Lösung finden. Alles, was ich tun möchte, ist vor dem Konfigurieren des Supplicant, der den AP prüft, und sicherstellen, dass die Berechtigungsnachweise korrekt sind. Ich weiß, dass dies nicht ohne volle Verbindung zum AP möglich ist, aber wenn es eine Möglichkeit gibt, dies zu überprüfen, ohne den Supplicant zu konfigurieren, reicht das aus

Mein Setup läuft auf Debian-Stretch

1
Schauen Sie sich `wpa_cli` und die API von wpa_supplicant an, die Sie zB von Ihrem C ++ - Programm aus aufrufen können. dirkt vor 5 Jahren 0

1 Antwort auf die Frage

0
GAD3R

Alles, was ich tun möchte, ist vor dem Konfigurieren des Supplicant, der den AP prüft, und sicherstellen, dass die Berechtigungsnachweise korrekt sind.

Verwenden Sie den folgenden Befehl, um eine Verbindung zu einem AP herzustellen, ohne eine Konfigurationsdatei zu schreiben :

wpa_supplicant -i <Interface> -c(wpa_passphrase "Your-AP-here" Your-password-here) 

Verwenden Sie die -BOption, um den Befehl im Hintergrund auszuführen.

Verwenden Sie grepdiese Option, um die Ergebnisse zu filtern oder einfach auszuführen, dhclientum sicherzustellen, dass Sie erfolgreich verbunden sind.