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
人间有真情,人间有真爱。