如何通过使用CMD输入密码来连接到新的WiFi?
对于我的学校项目,我决定使用cmd制作一个WiFi_manager程序。
我知道显示所有WiFi网络(在cmd中):
netsh wlan show networks现在假设我想连接到以前从未连接过的WiFi网络。而且WiFi还没有添加到配置文件中。
但我知道WiFi的密码。
1)它的命令行是什么?
鉴于以下WiFi网络的信息:
SSID 3 : Ismail
Network type : Infrastructure
Authentication : WPA-Personal
Encryption : CCMP
and password is "Thanks_bro".如果这是不可能的,可以使用C++完成吗?
发布于 2016-12-15 14:18:20
所以你已经知道netsh wlan了
如果输入它,就会得到一个可能的命令列表。一个是add。
如果输入netsh wlan add,就会得到另一个可能的子命令列表。一个是profile。
如果输入netsh wlan add profile,您将得到关于其所有可能参数的详细说明。需要的一个参数是包含概要文件信息的XML文件。
那么如何获得这样一个XML文件呢?回到netsh wlan并研究关键词。有export。
如果输入netsh wlan export,就会得到另一个可能的子命令列表。一个是profile。它在本地目录中创建一个包含当前WiFi连接所需信息的XML。
如果您想获得明文的密码,您还必须添加参数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"发布于 2016-12-15 13:30:18
命令提示符下的基本netsh wlan ?显示有一个netsh wlan connect命令。但是,这个命令似乎需要一个预先存在的“配置文件”;您需要使用netsh wlan add创建它。
这些细节是留给读者的练习。(毕竟这是家庭作业。)
在C/C++中还有一个示例WLAN客户端,它使用Windows中包含的Windows。我通过搜索wlanclient找到了这个,页面是这里。
发布于 2018-07-07 09:15:21
在Mac上,您可以使用终端中的bash行登录到wifi网络:
networksetup -setairportnetwork port networkname password注意:
端口是您的wifi端口(在我的Mac上是端口en0)
网络名是网络的名称,就像星巴克一样。
密码只是网络的直接密码。
如果密码已保存在您的密钥链中,则不需要该密码
这也应该适用于其他系统。
https://stackoverflow.com/questions/41163737
复制相似问题