本章学习内容:

  • 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  ssid '"HiByMusic_5G-1"'    //设置ID为0的热点SSID
wpa_cli -i wlan0 set_network psk '"hibymusic1109"' //设置ID为0的热点的密码

PS:如果是没有加密的公共网络,则输入以下密码:

wpa_cli -i wlan0 set_network  key_mgmt NONE

继续输入:

wpa_cli -i wlan0 set_network  priority      //设置当前网络优先级,默认为2
wpa_cli -i wlan0 set_network scan_ssid //设置ssid默认为1即可
wpa_cli -i wlan0 enable_network //启动连接ID为0的网络 wpa_cli -i wlan0 select_network //选择网络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     //与id0的网络进行断开
wpa_cli -i wlan0 remove_network //将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

49.Linux-wpa_cli使用之WIFI开启,扫描热点,连接热点,断开热点,WIFI关闭(49)的更多相关文章

  1. Android Wifi 主动扫描 被动扫描

    介绍主动扫描,被动扫描以及连接的wifi的扫描过程 参考文档 <802.11无线网络权威指南> <80_Y0513_1_QCA_WCN36X0_SOFTWARE_ARCHITECTU ...

  2. Linux wpa_cli 调试方法

    记录一下如何使用wpa_cli来进行wifi调试. 1.启动WLAN (1)加载驱动  打开wifi的时候会加载驱动,关闭则会卸载wifi驱动.手动调试的时候,先调用insmod/rmmod命令加载/ ...

  3. 【Win10 应用开发】扫描和连接Wi-fi网络

    老周今天带大家去“扫雷”了,别当真,是扫描并连接指定无线网络,时尚一点叫Wi-fi. 所以,今天的任务要求你的设备至少有1张无线网卡,目前老周没看到过有N张无线网卡的设备.像笔记本.平板等设备都可以, ...

  4. 升级了win10后开启wifi热点出现iphone&macbook连接断线的问题(win7也一样)

    升级了win10后开启wifi热点出现iphone&macbook连接 不间断 断线的问题 文后附上开启虚拟wifi的办法 百度参考了别人也出现这种问题,解决办法是修改信道,默认信道是11,修 ...

  5. 查看linux虚拟机ssh服务是否开启

    知识准备: 1.ssh和sshd的区别: 2.ssh服务进程默认地址:/etc/init.d/ssh 查看ssh服务是否开启 service ssh status 或者: /etc/init.d/ss ...

  6. Android的WiFi开启与关闭

    注意:要首先注册开启和关闭WiFi的权限, <?xml version="1.0" encoding="utf-8"?> <manifest ...

  7. Lynis 2.2.0 :面向Linux系统的安全审查和扫描工具

    Lynis是一款功能非常强大的开源审查工具,面向类似Unix/Linux的操作系统.它可以扫描系统,查找安全信息.一般的系统信息.已安装软件及可用软件信息.配置错误.安全问题.没有设密码的用户帐户.错 ...

  8. linux下如何修改iptables开启80端口

    linux下如何修改iptables开启80端口   最近在做本地服务器的环境,发现网站localhost能正常访问,用ip访问就访问不了,经常使用CentOS的朋友,可能会遇到和我一样的问题.开启了 ...

  9. DSAPI Wifi热点的扫描与连接

    使用DSAPI扫描和连接Wifi热点,支持连接隐藏的SSID. 效果演示: 代码如下: Private Wifi As New DSAPI.网络.Wifi Private Sub Button1_Cl ...

随机推荐

  1. 【.NET Core项目实战-统一认证平台】第三章 网关篇-数据库存储配置(1)

    [.NET Core项目实战-统一认证平台]开篇及目录索引 本篇将介绍如何扩展Ocelot中间件实现自定义网关,并使用2种不同数据库来演示Ocelot配置信息存储和动态更新功能,内容也是从实际设计出发 ...

  2. Android JNI 学习(二):JNI 设计机制

    本章我们重点说明以下JNI设计的问题,本章中提到的大多数设计问题都与native方法有关.至于调用相关的API的设计,我们会在后面进行介绍. 一.JNI接口函数和指针 native 代码通过调用JNI ...

  3. Webview 浏览器开源项目总结

    在Android开发中,我们不免会遇到使用WebView实现网页展示的需求,以下是本人之前star的开源项目,供大家参考: 一.CrosswalkWebview 项目地址:https://github ...

  4. Java核心技术卷一基础知识-第12章-泛型程序设计-读书笔记

    第12章 泛型程序设计 本章内容: * 为什么要使用泛型程序设计 * 定义简单泛型类 * 泛型方法 * 类型变量的限定 * 泛型代码和虚拟机 * 约束与局限性 * 泛型类型的继承规则 * 通配符类型 ...

  5. Robot Framework - 4 - 创建和扩展测试库的示例

    创建和扩展Library的示例 示例:Check status on Linux OS 创建与使用library的基本步骤:           1--- library实现的内容和实现的方式     ...

  6. 如何解决git====push 过程中出现的。error: failed to push some refs

    当我们在利用git  push 文件到仓库时出现了一下问题: ! [rejected] master -> master (fetch first)error: failed to push s ...

  7. java开发面试问题

    Java面试题:java的垮平台原理 为什么要跨平台使用????? 其实说白了就是个操作系统支持的指令集是不一样的.我们的程序需要再不同的操作系统上运行这些代码. 但是不要说jvm是跨平台的,而真正跨 ...

  8. 一款好用 mongodb 可视化工具

    最近想自己搭建一个个人博客,所以学了下mongodb,mongodb是用命令行输入的,有些人可能不太习惯,我自己找了下mongodb的一些可视化工具,一开始安装的是mongoVUE,mongoVUE页 ...

  9. 破解第三课 关键跳和关键CALL

    课前自泼凉水: 前两课的介绍的方法,不管是NOP填充还是JUM的无条件跳转,其实都有极大的局限性. 甚至单纯就效果而言,几乎无用. 且不说利用OD搜索关键字本身就很难搜得到. 就现在的软件保护而言,也 ...

  10. python之找最后一个人

    题目大概是:有10个人围成一圈,从第一个人数,数到3的人出局,问最后一个人是谁? 围成一圈,那就是无限循环,直至最后一个人,我们可以把10个人看做一个列表,每循环一次就把除3为0的数去除,下次再次循环 ...