Wifi
如何使用 wpa_cli 連接到開放的 wifi 網路?
我無法使用 wpa_cli 連接到開放的 wifi 網路。我正在嘗試通過以下方式連接到開放的 wifi 網路:
$ sudo wpa_cli -i wlp3s0 > add_network 0 > set_network 0 ssid "Guest" > enable_network 0
當我嘗試啟用網路時,有時它只是回复 OK,然後什麼也沒有。幾次,我看到它回復如下:
<3>CTRL-EVENT-SCAN-STARTED <3>CTRL-EVENT-SCAN-RESULTS <3>WPS-AP-AVAILABLE <3>CTRL-EVENT-NETWORK-NOT-FOUND
wpa_cli 對受密碼保護的網路沒有任何問題。
通常要連接到網路需要使用一些身份驗證機制。這由 wpa_supplicant 的
key_mgmt
變數在其他設置中處理:# key_mgmt: list of accepted authenticated key management protocols # WPA-PSK = WPA pre-shared key (this requires 'psk' field) # WPA-EAP = WPA using EAP authentication # IEEE8021X = IEEE 802.1X using EAP authentication and (optionally) dynamically # generated WEP keys # NONE = WPA is not used; plaintext or static WEP could be used [...] # If not set, this defaults to: WPA-PSK WPA-EAP
連接到開放的SSID 意味著不使用任何身份驗證或密碼:必須將參數從預設更改
NONE
為如上所述(明文情況)。在啟用(使用)網路之前,可以通過
wpa_cli
命令動態設置此值,就像許多其他值一樣:> help set_network commands: set_network <network id> <variable> <value> = set network variables (shows list of variables when run without arguments)
此命令應在之前插入
enable_network
:set_network 0 key_mgmt NONE
範例執行可能如下所示:
# wpa_cli -i wlp3s0 wpa_cli v2.9 [...] Interactive mode > add_network 0 > set_network 0 ssid "Guest" > set_network 0 key_mgmt NONE > enable_network 0 OK <3>SME: Trying to authenticate with 12:34:56:78:9a:bc (SSID='Guest' freq=2437 MHz) <3>Trying to associate with 12:34:56:78:9a:bc (SSID='Guest' freq=2437 MHz) <3>Associated with 12:34:56:78:9a:bc <3>CTRL-EVENT-CONNECTED - Connection to 12:34:56:78:9a:bc completed [id=0 id_str=] <3>CTRL-EVENT-SUBNET-STATUS-UPDATE status=0 [...]