簡體   English   中英

如何使用Windows Native Wifi功能連接到請求網絡安全密鑰的Wifi?

[英]How to connect to a Wifi that requests for a network security key using Windows Native Wifi Functions?

我正在開發一種使用VS2010連接到Wifi的方法,目前仍在研究如何使其與網絡安全密鑰連接。 我能夠枚舉我所在區域的所有Wifi熱點,並使用Windows本機Wifi函數(WlanOpenHandle,WlanEnumInterfaces,WlanQueryInterface,WlanGetNetworkBssList)獲取其SSID,MAC地址等。 我已經在MSDN上閱讀了有關WlanConnect() ,但我仍然一無所知。 您能否給我一些提示,以使代碼連接到要求網絡安全密鑰的Wifi?

假設您至少有一個已保存的Wifi連接,請運行以下命令

netsh wlan export profile

這會將所有Wifi配置文件導出為當前目錄中的XML文件。

如果將wLanConnectionMode設置為wlan_connection_mode_temporary_profile則在調用WlanConnect時可以在WLAN_CONNECTION_PARAMETERS結構中提供文字XML配置文件字符串。

如果可以使用導出的配置文件之一中的XML成功連接到安全網絡,則大概應該可以更改XML並使用相同的技術連接到新網絡。

我從未嘗試過這種方法,也不知道XML中存儲的密鑰使用了哪種編碼,但是這似乎是解決問題的一種可行方法。

正如arx所建議的,您將需要一個示例配置文件開始。 導出配置文件時,添加key = clear arg。 這將導出配置文件,其中包含密鑰。 然后,您可以看到需要調整的設置。

示例: netsh wlan export profile name=”<profileName>” folder=”<SaveLocation>” key=clear

生成的xml將包含以下部分:

<MSM>
    <security>
        <authEncryption>
            <authentication>WPA2PSK</authentication>
            <encryption>AES</encryption>
            <useOneX>false</useOneX>
        </authEncryption>
        <sharedKey>
            <keyType>passPhrase</keyType>
            <protected>false</protected>
            <keyMaterial>YourPaswordTextHERE</keyMaterial>
        </sharedKey>
    </security>
</MSM>

因此,有了配置文件字符串后,請使用以編程方式獲取的密碼來更新keyMaterial元素。 完成此操作后,您應該可以致電wlanConnect。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM