【Linux】之【Get√】nmcli device wifi list 与 wpa_cli scan 和 wpa_cli scan_result 区别

news/2025/2/10 16:35:16/

nmcli device wifi listNetworkManager 的命令行工具 nmcli 的一部分,它用于列出当前可用的无线网络。它的作用和 wpa_cli 的扫描功能类似,但有一些不同点。

1. nmcli device wifi list

功能:
  • nmcli device wifi list 命令用于显示当前设备扫描到的可用 Wi-Fi 网络。
  • 它会列出附近的所有 Wi-Fi 网络,并显示每个网络的基本信息,例如 SSID、信号强度、频率、加密类型等。
  • nmcli 命令是 NetworkManager 的工具,因此它不仅仅是一个简单的扫描命令,还提供了一整套管理和配置网络连接的功能。
示例:
nmcli device wifi list

输出示例:

IN-USE  SSID              MODE   CHAN  RATE       SIGNAL  BARS  SECURITYHomeWiFi          Infra  11    54 Mbit/s  100     ▂▄▆█  WPA2PublicWiFi        Infra  6     54 Mbit/s  80      ▂▄▆█  WPAMyWiFi            Infra  1     54 Mbit/s  60      ▂▄▆_  WEP
输出字段:
  • IN-USE: 显示当前正在使用的网络(会显示 *x 表示当前连接的网络)。
  • SSID: 无线网络的名称(SSID)。
  • MODE: 网络模式(例如,Infra 表示基础设施模式)。
  • CHAN: 网络使用的信道。
  • RATE: 网络的速率。
  • SIGNAL: 信号强度(以百分比表示)。
  • BARS: 信号强度的条形图表示。
  • SECURITY: 无线网络的加密方式(如 WPA2, WEP 等)。
优点:
  • 更高层次的网络管理nmcli 提供了更多的网络管理功能,不仅仅局限于扫描和显示 Wi-Fi 网络,还可以用于连接、断开网络,管理 IP 配置等。
  • 便于自动化:可以将 nmcli 命令放入脚本中,进行自动化的网络配置。

2. wpa_cli scanwpa_cli scan_result

功能:
  • wpa_cli 是与 wpa_supplicant(Wi-Fi 配置和管理工具)交互的命令行工具,专门用于控制和调试 Wi-Fi 连接。
  • wpa_cli scan 是向 wpa_supplicant 发出扫描请求,获取周围可用的 Wi-Fi 网络。
  • wpa_cli scan_result 用于显示扫描结果。
示例:
sudo wpa_cli scan
sudo wpa_cli scan_result
输出示例:
bssid / frequency / signal level / flags / ssid
00:11:22:33:44:55  2412    -50   [WPA2-PSK]   MyWiFi
00:11:22:33:44:56  2417    -70   [WPA-PSK]    AnotherWiFi
输出字段:
  • BSSID: 无线网络的 MAC 地址(基础设施网络的唯一标识符)。
  • Frequency: 网络的频率(通常为 2.4 GHz 或 5 GHz)。
  • Signal level: 信号强度(单位:dBm)。
  • Flags: 加密类型、网络状态等。
  • SSID: 无线网络的名称(SSID)。
优点:
  • 低级别的管理工具wpa_cli 更底层,直接与 wpa_supplicant 通信,提供了更多关于 Wi-Fi 协议栈的信息。
  • 适用于调试和更细粒度的控制:适合用于调试 Wi-Fi 连接和进行更细粒度的控制(如修改 Wi-Fi 加密方式、配置等)。

3. 区别:

特性nmcli device wifi listwpa_cli scanwpa_cli scan_result
功能提供可用 Wi-Fi 网络列表,并具有完整的网络管理功能通过 wpa_supplicant 扫描 Wi-Fi 网络,仅显示扫描结果
依赖工具依赖 NetworkManager依赖 wpa_supplicant
输出格式更友好的输出格式,适合普通用户查看输出格式较为基础,适合技术人员调试和使用
适用场景一般网络管理、连接、断开 Wi-Fi 网络更底层的 Wi-Fi 配置和调试,适用于开发和调试
加密支持显示加密类型(WPA2, WPA 等)显示加密类型及更多 Wi-Fi 相关信息(如信号强度、BSSID 等)
命令功能仅限列出 Wi-Fi 网络,但可以执行更多网络操作仅提供扫描和获取结果的功能,但支持更多 Wi-Fi 连接配置
系统兼容性更适合现代 Linux 系统(如 Ubuntu),更方便的管理工具适用于大部分使用 wpa_supplicant 的 Linux 系统

总结:

  • nmcli device wifi list:适用于更高层次的网络管理,适合一般用户用来查看和管理 Wi-Fi 网络,输出信息简洁,易于理解。
  • wpa_cli scanwpa_cli scan_result:提供更底层的 Wi-Fi 管理和调试功能,适用于开发人员和技术人员,能够显示更多详细的扫描信息并进行调试。

根据你的需求,选择使用合适的命令。例如,如果你需要更简便的 Wi-Fi 网络扫描和连接管理,nmcli 是一个更好的选择;如果你需要更底层的操作或调试,wpa_cli 更适合。


http://www.ppmy.cn/news/1570910.html

相关文章

数据库如何清空重置索引,MySQL PostgreSQL SQLite SQL Server

要彻底清空数据库并重置自增ID(索引),具体操作取决于您使用的数据库管理系统(DBMS)。以下是针对几种常见数据库的说明: MySQL 对于MySQL,您可以使用如下命令来删除表中的所有数据,并将自增计数器重置。 T…

边缘计算网关驱动智慧煤矿智能升级——实时预警、低延时决策与数字孪生护航矿山安全高效运营

迈向智能化煤矿管理新时代 工业物联网和边缘计算技术的迅猛发展,煤矿安全生产与高效运营正迎来全新变革。传统煤矿监控模式由于现场环境复杂、数据采集和传输延时较高,已难以满足当下高标准的安全管理要求。为此,借助边缘计算网关的实时数据…

基于springboot+vue的文物管理系统的设计与实现

开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…

HiveQL命令(二)- 数据表操作

文章目录 前言一、数据表操作1. 创建表1.1 语法及解释1.2 内部表1.2.1 创建内部表示例 1.3 外部表1.3.1 创建外部表示例 2. 查看表2.1 查看当前数据库中所有表2.2 查看表信息2.2.1 语法及解释2.2.2 查看表信息示例 3. 修改表3.1 重命名表3.1.1 语法3.1.2 示例 3.2 修改表属性3.…

Spring Cloud工程搭建

目录 工程搭建 搭建父子工程 创建父工程 Spring Cloud版本 创建子项目-订单服务 声明项⽬依赖 和 项⽬构建插件 创建子项目-商品服务 声明项⽬依赖 和 项⽬构建插件 工程搭建 因为拆分成了微服务,所以要拆分出多个项目,但是IDEA只能一个窗口有一…

Matplotlib基础01( 基本绘图函数/多图布局/图形嵌套/绘图属性)

Matplotlib基础 Matplotlib是一个用于绘制静态、动态和交互式图表的Python库,广泛应用于数据可视化领域。它是Python中最常用的绘图库之一,提供了多种功能,可以生成高质量的图表。 Matplotlib是数据分析、机器学习等领域数据可视化的重要工…

apisix网关ip-restriction插件使用说明

ip-restriction插件可以在网关层进行客户端请求ip拦截。 当然了,一般不推荐使用该方法,专业的事专业工具做。建议有条件,还是上防火墙或者waf来做。 官方文档:ip-restriction | Apache APISIX -- Cloud-Native API Gateway whit…

【手写公式识别】MEMix: Improving HMER with Diverse Formula Structure Augmentation 论文阅读

发表于:ICME 2024 原文链接:https://ieeexplore.ieee.org/document/10687521 源码:无 Abstract 手写数学表达式识别(HMER)旨在将数学表达式(MEs)的图像转换为相应的LaTeX序列。然而&#xff0…