linux使用wpa_supplicant手動配置wifi


簡介

wpa_supplicant是一個連接、配置WIFI的工具,它主要包含wpa_supplicantwpa_cli兩個程序。通常情況下,可以通過wpa_cli來進行WIFI的配置與連接,如果有特殊的需要,可以編寫應用程序直接調用wpa_supplicant的接口直接開發。

啟動wpa_supplicant應用

$ wpa_supplicant -D nl80211 -i wlan0 -c /etc/wpa_supplicant.conf -B

/etc/wpa_supplicant.conf文件里,添加下面代碼:

ctrl_interface=/var/run/wpa_supplicant
update_config=1

啟動wpa_cli應用

$ wpa_cli -i wlan0 scan             // 搜索附近wifi網絡
$ wpa_cli -i wlan0 scan_result      // 打印搜索wifi網絡結果
$ wpa_cli -i wlan0 add_network      // 添加一個網絡連接

如果要連接加密方式是[WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][ESS] (wpa加密),wifi名稱是namewifi密碼是:psk

$ wpa_cli -i wlan0 set_network 0 ssid '"name"'
$ wpa_cli -i wlan0 set_network 0 psk '"psk"'
$ wpa_cli -i wlan0 enable_network 0

 

如果要連接加密方式是[WEP][ESS] (wep加密),wifi名稱是namewifi密碼是psk

$ wpa_cli -i wlan0 set_network 0 ssid '"name"'
$ wpa_cli -i wlan0 set_network 0 key_mgmt NONE
$ wpa_cli -i wlan0 set_network 0 wep_key0 '"psk"'
$ wpa_cli -i wlan0 enable_network 0

如果要連接加密方式是[ESS] (無加密),wifi名稱是name

$ wpa_cli -i wlan0 set_network 0 ssid '"name"'
$ wpa_cli -i wlan0 set_network 0 key_mgmt NONE
$ wpa_cli -i wlan0 enable_network 0

分配ip/netmask/gateway/dns

$ udhcpc -i wlan0 -s /etc/udhcpc.script -q

執行完畢,就可以連接網絡了。

 

保存連接

$ wpa_cli -i wlan0 save_config

斷開連接

$ wpa_cli -i wlan0 disable_network 0

連接已有的連接

$ wpa_cli -i wlan0 list_network             列舉所有保存的連接
$ wpa_cli -i wlan0 select_network 0         連接第1個保存的連接
$ wpa_cli -i wlan0 enable_network 0         使能第1個保存的連接

斷開wifi

$ ifconfig wlan0 down
$ killall udhcpc
$ killall wpa_supplicant

 

查看網絡連接狀態

wpa_cli -i wlan0 status

 

創建配置文件

wpa_supplicant連接WIFI的時候會從配置文件中讀取賬號和密碼,以及加密方式等, 所以我們再運行wpa_supplicant工具的時候要提前寫好配置文件。
配置文件名稱自定,但是要以 .conf 為后綴,並保存在 /etc/ 目錄下,這邊給出一個配置文件的例子。

ctrl_interface=/var/run/wpa_supplicant  # 一個目錄,用於wpa_supplicant和wpa_cli的socket通信
network={
        ssid="dswei"        #WIFI名稱
        proto=WPA  # proto: list of accepted protocols, 可取WPA,RSN
                   # 如果沒有設置,默認為: WPA RSN
        key_mgmt=WPA-PSK # 認證方式
                         # 如果沒有設置,默認為: WPA-PSK WPA-EAP
        pairwise=TKIP    # 如果沒有設置,默認為: CCMP TKIP
        group=TKIP       # 如果沒有設置,默認為: CCMP TKIP WEP104 WEP40 
        psk="a123654"     # WIFI密碼
}

在一般使用中我們只要設置ssidpsk,其他全部使用默認的,就可以連接上WIFI。

 

 

 
 
 


免責聲明!

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



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