如何使用CMD输入密码连接到新的WiFi?
对于我的学校项目,我决定使用cmd制作一个WiFi_manager程序。
我知道要显示所有WiFi网络(cmd):
$("#" + expandingElement).show();
现在假设我想连接到之前从未连接过的WiFi网络。并且该WiFi尚未添加到配置文件中。
但我知道WiFi的密码。
1)该命令行是什么。
鉴于以下WiFi网络的信息:
netsh wlan show networks
如果无法做到这一点,是否可以使用C ++完成?
答案 0 :(得分:12)
所以你已经知道netsh wlan
如果输入它,您将获得可能的命令列表。一个是add
。
如果输入netsh wlan add
,则会获得另一个可能的子命令列表。一个是profile
。
如果您输入netsh wlan add profile
,您将获得有关其所有可能参数的详细说明。一个必需参数是包含配置文件信息的XML文件。
那么如何获得这样的XML文件呢?返回netsh wlan
并研究关键字。有export
。
如果输入netsh wlan export
,则会获得另一个可能的子命令列表。一个是profile
。它在本地目录中创建一个XML,其中包含当前WiFi连接所需的信息。
如果您想以明文形式获取密码,则还必须添加参数key=clear
。使整个命令变为
netsh wlan export profile key=clear
以下是已包含所需占位符的示例
<?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>
只需将关键字{SSID}
(发生两次)和{password}
替换为所需的值,然后通过调用
netsh wlan add profile filename="myProfile.xml"
答案 1 :(得分:0)
命令提示符处的基本netsh wlan ?
表示存在netsh wlan connect
命令。但是,似乎此命令需要预先存在的&#34;配置文件&#34 ;;你需要使用netsh wlan add
创建它
详细信息留给读者练习。 (毕竟这是家庭作业。)
使用Windows SDK中包含的Windows API,还有一个使用C / C ++的WLAN客户端示例。我通过搜索 wlanclient msdn 找到了这个,页面是here。
答案 2 :(得分:-1)
在Mac上,您可以在终端中使用以下bash行登录到wifi网络:
networksetup -setairportnetwork port networkname password
注意:
端口是您的wifi端口(在我的Mac上是端口en0)
网络名称是网络名称,例如星巴克
密码只是网络的直接密码
如果密码已经保存在钥匙串中,则不需要该参数
这也应该在其他系统上工作