49.Linux-wpa_cli使用之WIFI開啟,掃描熱點,連線熱點,斷開熱點,WIFI關閉(49)
阿新 • • 發佈:2018-12-26
本章學習內容:
- 1.WIFI如何開啟
- 2.掃描熱點
- 3.連線熱點
- 4. 斷開熱點
- 5.關閉WIFI
- 本節使用的是
wpa_supplicant
工具,它主要包含wpa_supplicant
(命令列模式)與wpa_cli
(互動模式)兩個程式。
1.WIFI如何開啟
ifconfig wlan0 up wpa_supplicant -Dnl80211 -i wlan0 -c /data/wpa_supplicant.conf -B //根據配置檔案/etc/wpa_supplicant.conf來初始化wlan0 //如果wpa_supplicant.conf檔案為空,則不會自動連線,需要連線一次網路才行
wpa_supplicant.conf檔案的意義:
用來儲存使用者連線過的WIFI熱點,好處在於,然後每次開啟WIFI時,則會自動根據該檔案來連線熱點
注意: 該檔案儲存的每個熱點都有個priority值,用來系統優先選擇哪個熱點
2.掃描熱點
命令如下:
wpa_cli -i wlan0 scan //掃描附近熱點 wpa_cli -i wlan0 scan_result //列印熱點資訊
效果如下:
3.連線熱點
wpa_cli -i wlan0 add_network //新增一個網路連線,並返回網路ID號,如果wpa_supplicant.conf檔案為空,則返回0,表示第一個熱點,然後該ID號會在連線熱點用到
新增網路連線的意義:
用來區分使用者連線過的每個熱點
3.1以連線HibyMusic_5G-1為例
wpa_cli -i wlan0 set_network 0 ssid '"HiByMusic_5G-1"' //設定ID為0的熱點SSID wpa_cli -i wlan0 set_network 0 psk '"hibymusic1109"' //設定ID為0的熱點的密碼
PS:如果是沒有加密的公共網路,則輸入以下密碼:
wpa_cli -i wlan0 set_network 0 key_mgmt NONE
繼續輸入:
wpa_cli -i wlan0 set_network 0 priority 2 //設定當前網路優先順序,預設為2 wpa_cli -i wlan0 set_network 0 scan_ssid 1 //設定ssid預設為1即可 wpa_cli -i wlan0 enable_network 0 //啟動連線ID為0的網路 wpa_cli -i wlan0 select_network 0 //選擇網路0(這樣做的好處在於,可以取消先前的其它網路連線) udhcpc -b -i wlan0 -q //此時只是連線上,所以還要自動分配IP地址,-b:後臺(back) –i:指定介面 –q:獲得續約後退出
如下圖所示:
接下來ping一下:
ping通則可以上網了,其中-I表示指定網絡卡介面
3.2 儲存連線的配置
wpa_cli -i wlan0 save_config //儲存當前連線的網路配置到wpa_supplicant.conf檔案中,使得下次自動連線
儲存後的wpa_supplicant.conf檔案如下所示:
3.3檢視網絡卡當前連線的資訊
wpa_cli -i wlan0 status //檢視當前網絡卡是處於什麼狀態
列印如下:
wpa_cli -i wlan0 list_network //檢視當前連線的是哪個網路
列印如下,可以看到當前連線的ID號為0:
4.斷開熱點
wpa_cli -i wlan0 disable_network 0 //與id0的網路進行斷開 wpa_cli -i wlan0 remove_network 0 //將id0的網路移除掉,必須先斷開才行 wpa_cli -i wlan0 save_config //並更新wpa_supplicant.conf檔案
配置後的wpa_supplicant.conf檔案如下所示:
5.關閉WIFI
killall udhcpc > /dev/null killall wpa_supplicant > /dev/null ifconfig wlan0 down