zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    C#线程锁使用全功略
    viewstate 与 session 区别
    Server.MapPath() 用法
    SQL Server 存储过程
    数据库索引的概念
    从C#程序中调用非受管DLLs
    [转载]C++、C#写的WebService相互调用
    解决WCF接口无法传递object参数的问题
    UTF-8,UTF-16
    js 验证字符串是否全为中文
  • 原文地址:https://www.cnblogs.com/lifexy/p/10180653.html
Copyright © 2011-2022 走看看