it-swarm.com.de

Wie kann ich nur mit CMD eine Verbindung zu einem WLAN herstellen?

Wie verbinde ich mich mit einem neuen WLAN, indem Sie ein Passwort mit CMD eingeben?

Für mein Schulprojekt habe ich mich dazu entschieden, ein WiFi_manager-Programm mit cmd zu erstellen.

Ich kann alle WiFi-Netzwerke anzeigen (in cmd):

netsh wlan show networks

Nehmen wir an, ich möchte eine Verbindung zu einem WLAN-Netzwerk herstellen, mit dem ich noch nie verbunden war. Und dass WiFi noch nicht zu Profilen hinzugefügt wird.

Aber ich kenne das Passwort des WiFi. 

1) Wie sieht die Befehlszeile aus.

Angesichts der Informationen des WiFi-Netzwerks unten:

SSID 3 : Ismail
    Network type            : Infrastructure
    Authentication          : WPA-Personal
    Encryption              : CCMP

and password is "Thanks_bro".

Wenn dies nicht möglich ist, kann dies mit C++ durchgeführt werden?

7
Jim Kim.

Sie kennen also netsh wlan

Wenn Sie es eingeben, erhalten Sie eine Liste mit möglichen Befehlen. Eines ist add.

Wenn Sie netsh wlan add eingeben, erhalten Sie eine weitere Liste möglicher Unterbefehle. Eines ist profile.

Wenn Sie netsh wlan add profile eingeben, erhalten Sie eine detaillierte Erklärung aller möglichen Parameter. Ein erforderlicher Parameter ist eine XML-Datei, die die Profilinformationen enthält.

Wie bekommt man eine solche XML-Datei? Gehen Sie zurück zu netsh wlan und untersuchen Sie die Schlüsselwörter. Es gibt export.

Wenn Sie netsh wlan export eingeben, erhalten Sie eine weitere Liste möglicher Unterbefehle. Eines ist profile. Es erstellt in Ihrem lokalen Verzeichnis ein XML mit den erforderlichen Informationen für Ihre aktuelle WLAN-Verbindung.

Wenn Sie das Passwort im Klartext erhalten möchten, müssen Sie auch den Parameter key=clear hinzufügen. Machen Sie den ganzen Befehl zu werden

netsh wlan export profile key=clear

Hier ist ein Beispiel, das bereits die benötigten Platzhalter enthält

<?xml version="1.0"?>
<WLANProfile xmlns="http://www.Microsoft.com/networking/WLAN/profile/v1">
    <name>{SSID}</name>
    <SSIDConfig>
        <SSID>
            <name>{SSID}</name>
        </SSID>
    </SSIDConfig>
    <connectionType>ESS</connectionType>
    <connectionMode>auto</connectionMode>
    <MSM>
        <security>
            <authEncryption>
                <authentication>WPA2PSK</authentication>
                <encryption>AES</encryption>
                <useOneX>false</useOneX>
            </authEncryption>
            <sharedKey>
                <keyType>passPhrase</keyType>
                <protected>false</protected>
                <keyMaterial>{password}</keyMaterial>
            </sharedKey>
        </security>
    </MSM>
    <MacRandomization xmlns="http://www.Microsoft.com/networking/WLAN/profile/v3">
        <enableRandomization>false</enableRandomization>
    </MacRandomization>
</WLANProfile>

Ersetzen Sie einfach die Schlüsselwörter {SSID} (tritt zweimal auf) und {password} durch die gewünschten Werte und importieren Sie diese Datei durch Aufruf

netsh wlan add profile filename="myProfile.xml"
7
Oliver

Eine grundlegende netsh wlan ? an einer Eingabeaufforderung zeigt an, dass es einen netsh wlan connect-Befehl gibt. Es scheint jedoch, dass dieser Befehl ein bereits vorhandenes "Profil" erfordert. Sie müssten das mit netsh wlan add erstellen.
Die Details werden dem Leser als Übung überlassen. (Es ist immerhin Hausaufgaben.)

Es gibt auch einen Beispiel-WLAN-Client in C/C++, der die im Windows SDK enthaltene Windows-API verwendet. Ich habe dies gefunden, als ich nach wlanclient msdn gesucht habe, die Seite ist hier .

0
David