当前位置: 首页 > news >正文

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

一:简要说明

        交叉编译wpa_supplicant工具后会有wpa_supplicant和wpa_cli两个程序生产,如果知道需要连接的wifi热点及密码的话不需要遍历及查询所有wifi热点的名字及信号强度等信息的话,使用wpa_supplicant即可,否则还需要使用wpa_cli来查询遍历wifi热点及配网。

        wpa_cli不能单独使用,需要先启动wpa_supplicant后在运行wpa_cli,因为wpa_supplicant作为服务端,wpa_cli作为客户端需要访问wpa_supplicant

二:加载无线网卡驱动

        WiFi的扫描及配网本质是网卡驱动实现的,所以必须先加载网卡驱动

        insmod cfg80211.ko

        insmod rtl8733bu.ko

        mkdir /tmp/wpa_supplicants   这个是wpa_supplicants的运行路径,wpa_supplicants的配置文件会指定ctrl_interface 到这里,默认是/var/run/wpa_supplicants

三:扫描遍历wifi热点及配网

           1 : ./wpa_supplicant  -i wlan0 -c wpa_supplicant.conf  -B

                 wpa_supplicant.conf 配置如下

ctrl_interface=/tmp/wpa_supplicants
update_config=1

        2:   扫描WiFi热点

        ./wpa_cli -i wlan0  -p /tmp/wpa_supplicants  scan      

        注意1:如果没有加-p指定 wpa_supplicants路径,则会提示下面错误,因为默认路径为

        /var/run/wpa_supplicant,或者将配置中的/tmp/wpa_supplicants改成/var/run/wpa_supplicant则无此问题不用-p参数

       Failed to connect to non-global ctrl_ifname: wlan0  error: No such file or directory

        注意2:

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

        

     3:查看扫描结果

     ./wpa_cli -i wlan0  -p /tmp/wpa_supplicants scan_results

     注意:

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

        

        4:连接wifi热点

                4.1:增加一个网络id,后面根据这个网络编号来配置wifi热点,我这里得到的编号为0

                ./wpa_cli -i wlan0  -p /tmp/wpa_supplicants add_network

                

                4.2:配置wifi热点的名字ssid

                        ./wpa_cli -i wlan0 -p /tmp/wpa_supplicants  set_network 网络编号 ssid '"wifi名字'

                        eg:./wpa_cli -i wlan0 -p /tmp/wpa_supplicants  set_network 0 ssid '"hfzuo"'

                4.3: 配置wifi热点的密码psd

                        ./wpa_cli -i wlan0 -p /tmp/wpa_supplicants set_network 网络编号 psk '"密码"'  

                        eg:./wpa_cli -i wlan0 -p /tmp/wpa_supplicants set_network 0 psk '"88888888"'

                4.4 查看网络列表

                        ./wpa_cli -i wlan0 -p /tmp/wpa_supplicants  list_network

                4.5 选择网络

                        ./wpa_cli -i wlan0  -p /tmp/wpa_supplicants  select_network 网络编号

                        eg:./wpa_cli -i wlan0  -p /tmp/wpa_supplicants  select_network 0

                4.6 请求动态分配IP

                        udhcpc -i wlan0 &

                4.7 查看wifi状态

                        ./wpa_cli -i wlan0  -p /tmp/wpa_supplicants  status

                4.8 保存wifi热点信息

                 ./wpa_cli -i wlan0 -p /tmp/wpa_supplicants save_config

                保存的wifi热点信息到配置文件/etc/wpa_supplicant.conf 里了

                下次直接运行./wpa_supplicant  -i wlan0 -c /etc/wpa_supplicant.conf  -B 既可自动连上hfzuo的热点

                wpa_supplicant.conf 内容如下

                

ctrl_interface=/tmp/wpa_supplicants
update_config=1
network={
ssid="hfzuo"
psk="88888888"
proto=WPA2
key_mgmt=WPA-PSK
pairwise=CCMP
group=CCMP
}

四:其他未测试验证的命令

        1:停止使用wifi热点(此时还连载wifi热点,只是没有激活使用)

        wpa_cli -i wlan0 disable_network 网络编号 

        2:使能wifi热点

        wpa_cli -i wlan0 enable_network 网络编号

        3:断开wifi热点

        wpa_cli -i wlan0 disconnect

        4:重连wifi热点

        wpa_cli -i wlan0 reconnect

        5:删除wifi热点

        wpa_cli -i wlan0 remove_network 网络编号

                        

        

        

相关文章:

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

一:简要说明 交叉编译wpa_supplicant工具后会有wpa_supplicant和wpa_cli两个程序生产,如果知道需要连接的wifi热点及密码的话不需要遍历及查询所有wifi热点的名字及信号强度等信息的话,使用wpa_supplicant即可,否则还需要使用wpa_…...

Sealos的k8s高可用集群搭建

Sealos 介绍](https://sealos.io/zh-Hans/docs/Intro) Sealos 是一个 Go 语言开发的简单干净且轻量的 Kubernetes 集群部署工具,能很好的支持在生产环境中部署高可用的 Kubernetes 集群。 Sealos 特性与优势 支持离线安装,工具与部署资源包分离&#…...

Android和DLT日志系统

1 Linux Android日志系统 1.1 内核logger机制 drivers/staging/android/logger.c static size_t logger_offset( struct logger_log *log, size_t n) { return n & (log->size - 1); } 写的off存在logger_log中(即内核内存buffer)&am…...

【openresty服务器】:源码编译openresty支持ssl,增加service系统服务,开机启动,自己本地签名证书,配置https访问

1,openresty 源码安装,带ssl模块 https://openresty.org/cn/download.html (1)PCRE库 PCRE库支持正则表达式。如果我们在配置文件nginx.conf中使用了正则表达式,那么在编译Nginx时就必须把PCRE库编译进Nginx&#xf…...

如何将网站提交百度收录完整SEO教程

百度收录是中文网站获取流量的重要渠道。本文以我的网站,www.mnxz.fun(当然现在没啥流量) 为例,详细讲解从提交收录到自动化维护的全流程。 一、百度收录提交方法 1. 验证网站所有权 1、登录百度搜索资源平台 2、选择「用户中心…...

【STM32】ADC|多通道ADC采集

本次实现的是ADC实现数字信号与模拟信号的转化,数字信号时不连续的,模拟信号是连续的。 1.ADC转化的原理 模拟-数字转换技术使用的是逐次逼近法,使用二分比较的方法来确定电压值 当单片机对应的参考电压为3.3v时,0~ 3.3v(模拟信…...

蓝桥杯算法日记|贪心、双指针

3412 545 2928 2128 贪心学习总结: 1、一般经常用到sort(a,an);【a[n]】排序,可以给整数排,也可以给字符串按照字典序排序 2、每次选最优 双指针 有序数组、字符串、二分查找、数字之和、反转字…...

ArcGIS Pro SDK (二十七)自定义许可

ArcGIS Pro SDK (二十七)自定义许可 环境:Visual Studio 2022 + .NET6 + ArcGIS Pro SDK 3.0 文章目录 ArcGIS Pro SDK (二十七)自定义许可1 在Config.xaml中添加扩展配置2 在Module1.cs中实现接口IExtensionConfig1 在Config.xaml中添加扩展配置 <modules><inse…...

通过客户端Chatbox或OpenwebUI访问识别不到本地ollama中的模型等问题的解决

Chatbox和Open WebUI 等无法获取到 Ollama里的模型&#xff0c;主要是由以下原因导致&#xff1a; Ollama 服务未正确暴露给 Docker 容器或客户端模型未正确下载或名称不匹配网络配置或权限问题 排查以上问题的思路首先排查ollama服务是否启动&#xff0c;然后再看端口号 使…...

速度超越DeepSeek!Le Chat 1100tok/s闪电回答,ChatGPT 4o和DeepSeek R1被秒杀?

2023年&#xff0c;当全球科技界还在ChatGPT引发的AI狂潮中沉浮时&#xff0c;一场来自欧洲的"静默革命"正悄然改变游戏规则。法国人工智能公司Mistral AI推出的聊天机器人Le Chat以"比ChatGPT快10倍"的惊人宣言震动业界&#xff0c;其背后承载的不仅是技术…...

JVM速成=。=

JVM跨平台原理 跨平台&#xff1a;一次编译&#xff0c;到处运行 本质&#xff1a;不同操作系统上运行的JVM不一样&#xff0c;只需要把java程序编译成一份字节码文件&#xff0c;JVM执行不同的字节码文件。 Java是高级语言&#xff0c;提前编译一下&#xff08;变成字节码文件…...

Packer 手动修复安装腾讯云插件

文章目录 Packer [腾讯云插件文档](https://developer.hashicorp.com/packer/integrations/hashicorp/tencentcloud) 提供的版本&#xff1a;v1.2.0&#xff0c;目前 Packer 构建镜像时&#xff0c;不支持现有2种[硬盘类型](https://www.tencentcloud.com/zh/document/product/…...

学习总结三十

下头论文 # P10605 下头论文 题目背景 莲子一直在苦恼关于论文的灵感。她为此花了太多时间&#xff0c;以至于没有时间理会她的伙伴梅莉。 题目描述 一天&#xff0c;莲子发现了一个绝妙的点子&#xff0c;并希望通过实验等过程将其完善。具体来说&#xff0c;她需要依次完成 n…...

开发完的小程序如何分包

好几次了&#xff0c;终于想起来写个笔记记一下 我最开始并不会给小程序分包&#xff0c;然后我就各种搜&#xff0c;发现讲的基本上都是开发之前的小程序分包&#xff0c;可是我都开发完要发布了&#xff0c;提示我说主包太大需要分包&#xff0c;所以我就不会了。。。 好了…...

Flutter PIP 插件 ---- Android

在 Flutter Android 应用中实现画中画功能 画中画(Picture-in-Picture, PiP)模式允许您的应用在一个固定在屏幕角落的小窗口中运行,同时用户可以与其他应用进行交互。本指南将介绍如何在 Flutter Android 应用中实现画中画功能,包括其局限性和解决方案。 项目地址 flutter_p…...

【20250211】字符串:459.重复的子字符串

#方法一&#xff1a;暴力求解法 # class Solution: # def repeatedSubstringPattern(self, s): # n len(s) # substr "" # #只重复一次不算“重复多次” # if n < 1: # return False # else: # …...

【DeepSeek学Cuda】矩阵转置:行读取优先还是列读取优先。

目录 **1. 实现A&#xff08;按行读取&#xff0c;按列存储&#xff09;2. 实现B&#xff08;按列读取&#xff0c;按行存储&#xff09;**3. 哪种更好 Professional cuda programming5. "当L1缓存被禁用时&#xff0c;所有内存访问都直接指向全局内存&#xff08;Global …...

如何将3DMAX中的3D文件转换为AutoCAD中的2D图形?

大家好,今天我们来探讨一下如何将3DMAX中的3D文件转换为AutoCAD中的2D图形。无论是出于设计交流、施工准备还是其他实际需求,这种转换在工程设计领域都是一项非常实用的技能。接下来,我将为大家详细介绍几种实现这一转换的方法,帮助大家轻松跨越3D与2D设计之间的鸿沟。让我…...

Softhsm储存安全数据性能整理

目标&#xff1a;存储百万条数据对象 测试方案一&#xff1a;总大小2GB&#xff0c;每个数据对象大小约512KB&#xff0c;总条数4096条&#xff1b; 测试方案一&#xff1a;总大小2GB&#xff0c;每个数据对象大小约256B&#xff0c;总条数8388608条&#xff1b; 测试环境&am…...

【C++】——精细化哈希表架构:理论与实践的综合分析

先找出你的能力在哪里&#xff0c;然后再决定你是谁。 —— 塔拉韦斯特弗 《你当像鸟飞往你的山》 目录 1. C 与哈希表&#xff1a;核心概念与引入 2. 哈希表的底层机制&#xff1a;原理与挑战 2.1 核心功能解析&#xff1a;效率与灵活性的平衡 2.2 哈希冲突的本质&#x…...

【cocos creator】拖拽排序列表

DEMO下载 GameCtrl.ts import ItemCtrl from "./ItemCtrl";const { ccclass, property } cc._decorator;ccclass export default class GameCtrl extends cc.Component {property(cc.Node)content: cc.Node null;property(cc.Node)prefab: cc.Node null;arr []…...

b站——《【强化学习】一小时完全入门》学习笔记及代码(1-3 多臂老虎机)

问题陈述 我们有两个多臂老虎机&#xff08;Multi-Armed Bandit&#xff09;&#xff0c;分别称为左边的老虎机和右边的老虎机。每个老虎机的奖励服从不同的正态分布&#xff1a; 左边的老虎机&#xff1a;奖励服从均值为 500&#xff0c;标准差为 50 的正态分布&#xff0c;即…...

【Mac排错】ls: command not found 终端命令失效的解决办法

【TroubleShooting on Mac】ls: command not found 终端命令失效的解决办法 A Solution to Solve “Command not found” of Terminal on Mac 一直在使用心爱的MacBook Pro的Terminal&#xff0c;并且为她定制了不同的Profile。 这样&#xff0c;看起来她可以在不同季节&…...

探秘Hugging Face与DeepSeek:AI开源世界的闪耀双子星

目录 一、引言&#xff1a;AI 开源浪潮的澎湃二、Hugging Face&#xff1a;AI 开源社区的基石&#xff08;一&#xff09;起源与发展历程&#xff08;二&#xff09;核心技术与特色&#xff08;三&#xff09;在 AI 领域的广泛应用 三、DeepSeek&#xff1a;东方崛起的 AI 新势…...

SkyWalking 10.1.0 实战:从零构建全链路监控,解锁微服务性能优化新境界

文章目录 前言一、集成SkyWalking二、SkyWalking使用三、SkyWalking性能剖析四、SkyWalking 告警推送4.1 配置告警规则4.2 配置告警通知地址4.3 下发告警信息4.4 测试告警4.5 慢SQL查询 总结 前言 在传统监控系统中&#xff0c;我们通过进程监控和日志分析来发现系统问题&…...

本地部署DeepSeek-R1(Mac版)

本地部署DeepSeek-R1&#xff08;Mac版&#xff09; 前言&#xff1a;过年这段时间&#xff0c;DeepSeek火遍全球&#xff0c;但遭受黑客攻击&#xff0c;10次对话基本9次都是服务器繁忙&#xff0c;请稍后重试。那么&#xff0c;本地部署整起来 总体来说&#xff0c;本地部署…...

网易易盾接入DeepSeek,数字内容安全“智”理能力全面升级

今年农历新年期间&#xff0c;全球AI领域再度掀起了一波革命性浪潮&#xff0c;国产通用大模型DeepSeek凭借其强大的多场景理解与内容生成能力迅速“出圈”&#xff0c;彻底改写全球人工智能产业的格局。 作为国内领先的数字内容风控服务商&#xff0c;网易易盾一直致力于探索…...

apachePoi中XSSFClientAnchor图片坐标简述;填充多张图片

概述 业务中经常会遇到在单元格内填充图片的需求&#xff0c;而且要求指定图片在单元格内的位置。 一般都是用的apache的poi&#xff0c;设置图片坐标。 HSSFClientAnchor(int dx1, int dy1, int dx2, int dy2, short col1, int row1, short col2, int row2)dx1 dy1 起始单元…...

Java、Go、Rust、Node.js 的内存占比及优缺点分析

在选择编程语言进行项目开发时&#xff0c;内存占用是一个重要的考量因素。不同语言在内存管理、垃圾回收、并发模型等方面各有特点&#xff0c;影响着它们的内存使用情况。本文将对 Java、Go、Rust 和 Node.js 的内存占比进行对比&#xff0c;并分析它们的优缺点。 1. Java 的…...

C++智能指针的使用

文章目录 智能指针的使用和原理智能指针的使用场景RAII和智能指针C标准库智能指针的使用 智能指针的使用和原理 智能指针的使用场景 1. 下面的程序中&#xff0c;new了以后&#xff0c;我们也delete了&#xff0c;但是因为抛异常导致后面的delete没有得到执行&#xff0c;所以…...