wpa_supplicant、wpa_cli的使用

WPA_Suppliant简介 1.WPA_Supplicant介绍 WPA_Supplicant:开源项目源码、它主要是用来支持WEP,WPA/WPA2无线协议和加密认证的,而实际上的工作内容是通过与驱动交互上报数据给用户而用户可以通过socket发送命令给wpa_supplicant调动驱动来对WiFi芯片操作。简单的说,wpa_supplicant就是WiFi驱动和上层用户的中转站外加对协议和加密认证的支持。 WPA... 阅读详情
AI摘要

本文详细介绍了wpa_supplicant与wpa_cli两个工具的使用方法,包括启动wpa_supplicant服务,使用wpa_cli进行WiFi扫描、配置、连接及管理,适用于Linux系统下的WiFi配置。

wpa_supplicant工具包含wpa_supplicant和wpa_cli这2个程序,其中wpa_supplicant程序作为服务端在后台运行,服务wpa_cli客户端的请求,从而实现WiFi的配置连接。wpa_supplicant工具支持wep、wpa、wpa2等加密认证方式。本文接下来介绍如何使用wpa_supplicant、wpa_cli这2个程序进行WiFi的配置。

一、wpa_supplicant的使用

运行wpa_supplicant,wpa_supplicant程序作为wpa_cli的服务端,必须先启动后,才能给wpa_cli访问使用。

wpa_supplicant的手册说明:

wpa_supplicant

usage:

wpa_supplicant [-BddhKLqqtvW] [-P<pid file>] [-g<global ctrl>] \

[-G<group>] \

-i<ifname> -c<config file> [-C<ctrl>] [-D<driver>] [-p<driver_param>] \

[-b<br_ifname>] [-e<entropy file>] \

[-o<override driver>] [-O<override ctrl>] \

[-N -i<ifname> -c<conf> [-C<ctrl>] [-D<driver>] \

[-p<driver_param>] [-b<br_ifname>] [-I<config file>] ...]

drivers:

nl80211 = Linux nl80211/cfg80211

wext = Linux wireless extensions (generic)

wired = Wired Ethernet driver

options:

-b = optional bridge interface name

-B = run daemon in the background

-c = Configuration file

-C = ctrl_interface parameter (only used if -c is not)

-d = increase debugging verbosity (-dd even more)

-D = driver name (can be multiple drivers: nl80211,wext)

-e = entropy file

-g = global ctrl_interface

-G = global ctrl_interface group

-h = show this help text

-i = interface name

-I = additional configuration file

-K = include keys (passwords, etc.) in debug output

-L = show license (BSD)

-N = start describing new interface

-o = override driver parameter for new interfaces

-O = override ctrl_interface parameter for new interfaces

-p = driver parameters

-P = PID file

-q = decrease debugging verbosity (-qq even less)

-t = include timestamp in debug messages

-v = show version

-W = wait for a control interface monitor before starting

例:

wpa_supplicant -D nl80211 -i wlan0 -c /etc/wpa_supplicant.conf -B

-D nl80211:表示驱动类型名称为nl80211

-i wlan0:表示网络接口名称为wlan0

-c /etc/wpa_supplicant.conf:表示配置文件为wpa_supplicant.conf

-B:表示将守护进程wpa_supplicant 挂到后台运行

 

二、wpa_cli的使用

1、wpa_cli的使用方式

wpa_supplicant作为服务端已经运行,此时再启动wpa_cli客户端,即可通过wpa_cli客户端进行网络配置的操作。

使用wpa_cli有2种方式,一种是通过进入wpa_cli控制台交互界面进行。

例:

在串口终端输入:

wpa_cli

另一种是不进入控制台交互界面,直接通过串口终端输入完整的命令。本文的WiFi配置将通过这种方式进行介绍。

例:再串口终端输入命令:

wpa_cli -i wlan0 help

注意:

-i wlan0:表示网络接口名称是wlan0。我的板子WiFi的网络接口名称是wlan0,下文将一直使用这网络接口操作。

下面我们将从使用WiFi的常用流程来介绍wpa_cli的使用。所有的命令使用介绍可以通过“wpa_cli -i wlan0 help”命令进行查看。

 

2、扫描周边WiFi热点

启动扫描:

wpa_cli -i wlan0 scan

注意:

scan扫描过程需要一定的时间,扫描过程中将使wpa_supplicant处于busy状态,再次发送scan扫描将失败。

 

查看扫描结果:

wpa_cli -i wlan0 scan_results

注意:

scan_results打印出来的是可获得的wifi的列表,列表包含WiFi热点的ssid(名称)、bssid(mac地址)、signal level(信号强度,单位dBm)、flags(加密类型)等。

可以发现,如果周边有多个热点,打印出来的WiFi列表,一个热点是一行信息,但热点排列的先后顺序不是严格按信号强度signal level(负值)由大到小排列。而且此时再开新的WiFi热点,重新scan,然后scan_results打印结果,会发现新开的WiFi热点,虽然信号强,但也是排在列表很靠后的位置。

所以如果想让WiFi热点按照信号强度由大到小排序,就要在获取到WiFi列表后,自己再根据信号强度进行降序排列,从而实现信号强的WiFi排在前面。

 

3、连接WiFi热点

增加一个网络id:

add_network命令会返回一个network id,后面是根据这网络编号来配置WiFi热点。

wpa_cli -i wlan0 add_network

 

配置WiFi热点的名称ssid:

wpa_cli -i wlan0 set_network 网络编号 ssid '"WiFi名称"'

例:

wpa_cli -i wlan0 set_network 0 ssid '"honor"'

 

配置WiFi热点的密码psk:

wpa_cli -i wlan0 set_network 网络编号 psk '"密码"'

例:

wpa_cli -i wlan0 set_network 0 psk '"12345678"'

 

查看网络列表:

wpa_cli -i wlan0 list_network

 

选择网络:

使用list_network命令,会打印所有已添加成功的WiFi热点,如果有多个WiFi热点,可以使用select_network命令选择使用哪个热点,可实现WiFi热点的切换。

wpa_cli -i wlan0 select_network 网络编号

例:

wpa_cli -i wlan0 select_network 0

注意:

此时只是连接AP成功,并未获取到IP、DNS。可使用udhcpc命令动态获取IP。

例:

udhcpc -i wlan0 -q

 

下面示例如何连接WiFi进行上网。

配置热点信息:

选择热点:

查看是否分配IP:

使用udhcpc获取IP:

访问外网测试:

 

4、查看WiFi状态信息

wpa_cli -i wlan0 status

使用status命令,查看当前wifi的信息,包括bssid,ssid,IP等等。

注意:通过status命令查看到WiFi是连接状态,并不能确定就能访问外网,还要查看是否已经获取了IP、DNS等。

 

5、保存WiFi热点信息

wpa_cli -i wlan0 save_config

保存WiFi热点信息到配置文件/etc/wpa_supplicant.conf文件中。

 

6、停止使用WiFi热点

wpa_cli -i wlan0 disable_network 网络编号

此时还连接着WiFi热点,只是没有激活使用WiFi。

例:

wpa_cli -i wlan0 disable_network 0

 

7、使能WiFi热点

wpa_cli -i wlan0 enable_network 网络编号

根据网络编号使能对应的WiFi热点,

例:

wpa_cli -i wlan0 enable_network 0

 

8、断开WiFi热点

wpa_cli -i wlan0 disconnect

断开连接WiFi热点,

 

9、重连WiFi热点

disconnect断开WiFi后,可以使用reconnect重连原来断开的网络。

wpa_cli -i wlan0 reconnect

 

10、删除WiFi热点

删除热点后,热点将从list_network中移除,即不能删除前的网络编号配置WiFi热点。

wpa_cli -i wlan0 remove_network 网络编号

例:

wpa_cli -i wlan0 remove_network 0

 

 

 

 

 

 

 

STA模式-wpa_cli使用 WIFI station模式 wpa_cli工具的使用方法 阅读详情

相关推荐

1、wpa_supplicant介绍--配置参数说明

wpa_supplicant工具

u010608421的博客 4343

5wpa_supplicant程序 --详解

目前可以使用wireless-tools或wpa_supplicant工具来配置无线网络。请记住重要的一点是,对无线网络的配置是全局性的,而非针对具体的接口。 wpa_supplicant是一个较好的选择,但缺点是它不支持所有的驱动。请浏览wpa_supplicant网站获得它所支持...

2491

wpa_supplicant与wpa_cli的交互分析

本文介绍了wpa_supplicant与用户态程序wpa_cli和内核驱动的交互过程,对wifi驱动开发相关人员有一定的帮助

乐观的lishan的博客 2154

wpa_supplicant使用

1.wpa_supplicant简介 wpa_supplicant是一个连接、配置WIFI的工具,它主要包含wpa_supplicant与wpa_cli两个程序。wpa_supplicant是服务端,wap_cli是客户端,一般情况下使用wpa_cli就可以操作WiFi。但是它不支持所有的驱动,可以浏览wpa_supplicant网站获得它所支持的驱动列表。另外,wpa_supplicant目前只能连接到那些你已经配置好SSID的无线网络,也就是使用前需要配置好wpa_supplicant的配置文件wpa_

weixin_43982460的博客 2万+

Wpa_supplicant与wpa_cli实现wifi调试的无线配置

1、使用adb工具进入手机android系统 adb devices  显示所有连接的设备 adb root     重新启动adb进程,并给予root权限 adb remount   重登设备的 /system 分区 adb shell 进入手机android系统 2、进入wifi模块驱动文件夹内,安装驱动模块 cd system/lib/modules cd ath6kl

hengkong_horse的专栏 3788

Vector CANoe VT2516A实战:从硬件连接到CAPL脚本的完整配置指南

本文详细介绍了Vector CANoe VT2516A板卡从硬件连接到CAPL脚本编写的完整配置指南。涵盖硬件接线原则、VT System配置避坑技巧、系统变量创建规范、可视化Panel设计、CAPL脚本调试及典型故障排查案例,帮助工程师快速掌握VT2516A板卡的应用实践,提升汽车电子测试效率。

weixin_30608503的博客 254

wap_cli连接wifi(wpa_cli与wpa_supplicant的理解)

前言: 在使用wpa_cli去连接wifi之前我们先了解一下wpa_supplicant。 wpa_supplicant是什么: 是一个项目开源源码,被谷歌修改后加入了Andriod移动平台 wpa_supplicant作用: 主要用来加密的,主要支持OPEN,WEP,WPA(TKIP),WPA2(AES)等类型的无线协议与加密认证 wpa_supplicant工作内容: ...

weixin_42271802的博客 1万+

从零搭建高通8255车载开发环境:QNX SDP、SDK配置与镜像编译全流程

本文详细介绍了如何从零搭建高通SA8255P车载开发环境,涵盖QNX SDP部署、SDK工具链配置到多系统镜像编译的全流程。特别针对SAIL安全岛镜像构建、QNX系统优化及Android系统资源分配等关键技术点提供实战指导,帮助开发团队高效完成车载系统开发与调试。

weixin_33582311的博客 364

使用wpa_supplicant和wpa_cli 扫描wifi热点及配网

无线网卡使用wpa_supplicant和wpa_cli 扫描wifi热点及配网

somnus.清澈的博客 2429

Win上通过Jconsole查看Java程序资源占用情况(教程总结,一篇就够了)

JConsole 是一个内置 Java 性能分析器,Java 5开始 引入了 JConsole。可以从命令行或在 GUI shell 中运行。您可以轻松地使用 JConsole来监控 Java 应用程序性能和跟踪 Java 中的代码。Jconsole工具查看程序的资源占用请求。安装jdk时bin目录有jconsole.exe工具,或者通过 Win + R,输入jconsole.exe启动jconsole( 可以从命令行直接输入jconsole。

明生的博客 6239

DeepSeek-OCR又更新:一起看下OCR1和OCR2

DeepSeek-AI 最近又又开源了,这次是DeepSeek-OCR2,结合之前发布的DeepSeek-OCR ,可以发现DeepSeek走出了一条不同于主流 OCR 方案的技术路线。第一代模型探索了**“视觉作为文本压缩介质”的可行性,打破了传统的序列长度限制;第二代模型则通过“Visual Causal Flow(视觉因果流)”**架构,将因果推理引入视觉编码器,解决了复杂排版下的阅读顺序难题。本文将从架构设计、逻辑结构、训练范式及工程实现四个维度,深度剖析这两代模型的异同与创新。

kakaZhui的博客 622

wpa_supplicant与wpa_cli个人总结

wpa_supplicant的帮助文档 usage: wpa_supplicant [-BddhKLqqstuvW] [-P] [-g] -i -c [-C] [-D] [-p<driver_param>] [-b<br_ifname>] [-f] [-e] [-o] [-O] [-N -i -c [-C] [-D] [-p<driver_param>...

u011975319的专栏 4750

ROS2实战:手把手教你用walking机器人仿真实现医院多楼层自动配送(含实时地图切换)

本文详细介绍了如何利用ROS2和walking机器人仿真平台实现医院多楼层自动配送系统,重点讲解了动态地图切换技术和多楼层导航的实现方法。通过实时加载地图和优化电梯过渡策略,解决了医院复杂环境下的自主配送难题,为医疗物流自动化提供了实用解决方案。

weixin_29090917的博客 357

wpa_supplicant 常用操作及其wpa_cli无法运行的原因Could not connect to wpa_supplicant

简介 wpa_supplicant是一个连接、配置WiFi的工具,它主要包含wpa_supplicant与wpa_cli两个程序。 可以通过wpa_cli来进行WiFi的配置与连接,前提要保证wpa_supplicant正常启动。 相当于wpa_supplicant 是服务端,wpa_cli 是客户端。 安装 wpa_supplicant 依赖于 openssl , libnl , 需要提前进行安装。安装方法ARM-Linux平台下,在上篇文章已经介绍。 1. 启动wpa_supplicant应用 wpa

路过的熊的博客 9898

工业级AI智能体落地:OpenClaw+ONNX Runtime全栈部署,端到端延迟压至12ms

OpenClaw+ONNX的组合为工业AI智能体的落地提供了一套完整、高效、安全的解决方案。它解决了传统云端智能体在工业场景中面临的延迟、安全和稳定性问题,实现了本地数据闭环和毫秒级响应。未来,随着边缘计算和轻量级大模型技术的发展,工业AI智能体将变得更加智能和强大。我们可以预见,在不久的将来,工厂里的每一台设备都将拥有自己的AI智能体,它们能够自主感知、自主决策、自主执行,真正实现工业生产的全自动化和智能化。👉 点击我的头像进入主页,关注专栏第一时间收到更新提醒,有问题评论区交流,看到都会回。

2601_94871597的博客 735

【RT-DETR涨点改进】独家小目标涨点改进篇 | TGRS 2025 | RT-DETR引入ABRNet小目标检测顶刊中的:ARF自适应性感受野和MCA双向交叉轴注意力,适合小目标检测有效涨点

本文提出了一种改进的RT-DETR小目标检测方法,通过集成自适应感受野模块(ARF)和多尺度交叉轴注意力模块(BC)来提升检测性能。ARF模块采用多种卷积核动态调整感受野,有效捕获多尺度目标特征并减少背景干扰;BC模块通过多尺度交叉轴注意力机制增强全局信息提取和特征融合能力。实验表明,该方法在复杂背景下显著提升了红外小目标检测的精度和效率,同时降低了计算开销。文章详细介绍了模块结构、原理及实现代码,并提供了多种改进配置方案,为小目标检测任务提供了有效的解决方案。

Ai缝合怪、助力小伙伴高效发论文 570

wpa_supplicant, wpa_cli用法

Android系统中对于WIFI的设置集成到了“设置”中,其实跟手动设置差不多。这里介绍下如何手动连接WIFI,以方便以后调试WIFI。         第一步要做的就是要加载WIFI模块驱动了。当然如果你的WIFI是编译到内核里面的,就不需要的。我们的WIFI芯片用的是BCM4330,编译为模块。 insmod /system/lib/modules/kernel/drivers/net/w

井朝天的专栏 3万+

2026年紫光同创数字IC笔试试卷带答案

FPGA基础知识与设计要点摘要 本文围绕FPGA与数字IC设计核心概念,通过单选题、波形分析题、多选题和简答题形式,系统梳理了以下关键知识点: FPGA基础架构 查找表(LUT)是实现组合逻辑的基本单元(题1) CLB包含LUT、触发器和进位链,后者加速算术运算(题6,10) 布局布线优化是减少关键路径延迟的核心方法(题7) 时序分析要点 建立时间(时钟沿前数据需稳定)与保持时间(时钟沿后需保持)的定义(题2,简答1) 亚稳态成因及两级同步器处理跨时钟域信号的方法(多选题1,波形题5) 特殊设计技术 异步复

Open 114

Android调试wifi使用wpa_supplicant和wpa_cli总结

启动WLAN (1)加载驱动 android系统需要先load driver。手动调试dirver ko的时候,先调用insmod命令加载指定的wifi驱动,注意有些wifi ko的加载后面需要添加参数。 再调用iwconfig可以看到驱动是否加载成功,如下,可以看到wlan0已经有了,则驱动加载成功。 (1)ifconfig -a p2p0 Link encap:Ethernet H...

Android/Linux驱动开发传帮带学习,让驱动入门门槛更低! 7202

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Wpa_supplicant及wpa_cli介绍

WEP 为每个授权系统提供相同的密钥,而 WPA 使用临时密钥完整性协议 (TKIP),该协议可动态更改系统使用的密钥。但是,尽管存在这些改进,WPA 的元素还是遭到利用,这导致 WPA2 诞生。指向的是一个目录,在这个目录中默认会生成一个文件/var/run/wpa_supplicant/wlan0,这是local socket address,相当于。添加一个网络连接,并返回网络ID号,如果wpa_supplicant.conf文件为空,则返回0,表示第一个热点,然后该ID号会在连接热点用到。

wz121640的博客 1733

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

wpa_supplicant及wpa_cli使用方法

https://segmentfault.com/a/1190000011579147?utm_source=tag-newest wpa_supplicant是一个连接、配置WIFI的工具,它主要包含wpa_supplicant与wpa_cli两个程序。 通常情况下,可以通过wpa_cli来进行WIFI的配置与连接,如果有特殊的需要,可以编写应用程序直接调用wpa_supplicant的接口直接...

hbcbgcx的博客 1183

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

WiFi相关功能使用教程(wpa_supplicant及wpa_cli)

WiFi相关功能使用教程

weixin_45783574的博客 2168

使用wpa_cli和wpa_supplicant配置Liunx开发板的wlan0无线网

使用wpa_cli和wpa_supplicant配置Liunx开发板的wlan0无线网

C/C++、嵌入式开发、深度学习算法、模型部署与推理优化 1688

Linux:如何使用wpa_supplicant及wpa_cli 创建p2p

注意,当 go_intent=15 时,说明强制当前设备为Go角色。最近在搞linux 系统的p2p,特此简单总结下。

weixin_44498318的博客 5781

嵌入式设备WIFI应用开发(1)- wpa_supplicant和wpa_cli的移植和使用

在嵌入式设备中和Android中,对WIFI的操作,使用的都是wpa_supplicant这个工具。wpa_supplicant是一个跨平台的WPA应用,既适应于桌面环境也适合嵌入式环境使用,支持的标准相对于iw-tools更全面;本篇文章主要讲解如何基于wpa_supplicant和wpa_cli通过封装我们自己的WIFI操作接口完成wifi扫描,wif连接,wifi连接状态查询等基本操作。

Embedded engineer 4089
上一篇: 最小Linux系统中如何实现开机自动运行程序(进程)
下一篇: 行为的动机
bulebin
博客等级 码龄10年 152粉丝 36原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值