本章學習內容:
- 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:獲得續約后退出 ,如果想盡在前台運行,則去掉-b,加上-f
如下圖所示:
接下來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