Comment se connecter à un nouveau réseau WiFi en entrant un mot de passe avec CMD?
Pour mon projet d'école, j'ai décidé de créer un programme WiFi_manager à l'aide de cmd.
Je sais afficher tous les réseaux WiFi (en cmd):
netsh wlan show networks
Maintenant, disons que je veux me connecter à un réseau WiFi que je n'avais jamais connecté auparavant. Et ce WiFi n'est pas encore ajouté aux profils.
Mais je connais le mot de passe du WiFi.
1) Quelle sera la ligne de commande pour cela.
Compte tenu des informations du réseau WiFi ci-dessous:
SSID 3 : Ismail
Network type : Infrastructure
Authentication : WPA-Personal
Encryption : CCMP
and password is "Thanks_bro".
Si ce n'est pas possible, peut-on utiliser C++?
Donc vous connaissez déjà netsh wlan
Si vous le saisissez, vous obtenez une liste de commandes possibles. L'un est add
.
Si vous entrez netsh wlan add
, vous obtenez une autre liste de sous-commandes possibles. L'un est profile
.
Si vous entrez netsh wlan add profile
, vous obtenez une explication détaillée de tous ses paramètres possibles. Un paramètre nécessaire est un fichier XML contenant les informations de profil.
Alors, comment obtenir un tel fichier XML? Retournez à netsh wlan
et étudiez les mots-clés. Il y a export
.
Si vous entrez netsh wlan export
, vous obtenez une autre liste de sous-commandes possibles. L'un est profile
. Il crée un fichier XML dans votre répertoire local contenant les informations nécessaires à votre connexion WiFi actuelle.
Si vous souhaitez obtenir le mot de passe en texte clair, vous devez également ajouter le paramètre key=clear
. Faire toute la commande devenir
netsh wlan export profile key=clear
Voici un exemple qui contient déjà les espaces réservés nécessaires
<?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>
Il suffit de remplacer les mots clés {SSID}
(se produit deux fois) et {password}
par les valeurs souhaitées et d'importer ce fichier en appelant
netsh wlan add profile filename="myProfile.xml"
Un netsh wlan ?
de base à une invite de commande indique qu'il existe une commande netsh wlan connect
. Cependant, il semble que cette commande nécessite un "profil" préexistant; vous auriez besoin de créer cela en utilisant netsh wlan add
.
Les détails sont laissés comme un exercice pour le lecteur. (Ce sont des devoirs, après tout.)
Il existe également un exemple de client WLAN en C/C++ utilisant l’API Windows incluse dans le SDK Windows. J'ai trouvé cela en recherchant wlanclient msdn, la page est ici .