49.Linux-wpa_cli使用之WIFI開啟,掃描熱點,連接熱點,斷開熱點,WIFI關閉(49)


本章學習內容:

  • 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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM