linux使用wpa_supplicant手动配置wifi
linux使⽤wpa_supplicant⼿动配置wifi
简介
wpa_supplicant是⼀个连接、配置WIFI的⼯具,它主要包含wpa_supplicant与wpa_cli两个程序。通常情况下,可以通过wpa_cli来进⾏WIFI的配置与连接,如果有特殊的需要,可以编写应⽤程序直接调⽤wpa_supplicant的接⼝直接开发。
启动wpa_supplicant应⽤
$ wpa_supplicant -D nl80211 -i wlan0 -c /etc/f -B
/etc/f⽂件⾥,添加下⾯代码:
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名称是name,wifi密码是: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
wlan无线上网密码如果要连接加密⽅式是[WEP][ESS] (wep加密),wifi名称是name,wifi密码是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密码
}
在⼀般使⽤中我们只要设置ssid和psk,其他全部使⽤默认的,就可以连接上WIFI。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。