zoukankan      html  css  js  c++  java
  • 【转】wpa_supplicant及wpa_cli使用方法

    出自https://segmentfault.com/a/1190000011579147

    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_wifi_tool使用方法

    wpa_wifi_tool是基于wpa_supplicantwpa_cli的一个用于快速设置wifi的工具,方便调试时连接wifi使用。使用方法:1、运行wpa_wifi_tool;2、输入help进行命令查看;3、s进行SSID扫描;4、c[n]进行wifi连接,连接时若为新的SSID则需输入密码,若为已保存的SSID则可以使用保存过的密码或者重新输入密码;5、e退出工具。

  • 相关阅读:
    Python深入03 对象的属性
    利用Webkit抓取动态网页和链接
    分享:OCILIB 3.11.0 发布,跨平台 Oracle 驱动
    Knockoutjs实战开发:控制子绑定(control descendant bindings)
    利用InjectedBundle定制自己的Webkit(二)
    使用solrj和EasyNet.Solr进行原子更新
    Chaos网络库(二) Buffer的设计
    分享:djangohaystack+solr实现搜索
    Moon.ORM 4.4 隆重发布,在性能和使用便捷上一挑群雄(mysoft,cyq,pdf)
    数据结构利器之私房STL(中)
  • 原文地址:https://www.cnblogs.com/libra13179/p/14470571.html
Copyright © 2011-2022 走看看