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

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  SECURITY
        HomeWiFi          Infra  11    54 Mbit/s  100     ▂▄▆█  WPA2
        PublicWiFi        Infra  6     54 Mbit/s  80      ▂▄▆█  WPA
        MyWiFi            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 更适合。

如果你在使用`nmcli device wifi connect`命令后遇到Nmcli(Network Manager command-line interface)工作异常,这通常意味着命令执行过程中遇到了问题。以下是可能的原因及解决方案: 1. **权限不足**:确保你有管理员权限执行此操作,可以试着添加`sudo`前缀试试看。 2. **网络状态**:网络可能尚未扫描到可用的WiFi信号,先运行`nmcli dev wifi list`检查附近是否存在可用的网络,并确保你的无线适配器已启用。 3. **认证问题**:如果连接的Wi-Fi需要密码,确保你知道正确的密码。如果不是现成的加密方式,你可能需要安装支持的wpa_supplicant模块。 4. **连接名称错误**:检查你想连接的网络名称(SSID)是否正确无误,大小写敏感,有时也会因名称变更而无法连接。 5. **驱动问题**:如有时驱动不兼容或过旧,可能导致连接失败。更新网络适配器的驱动是一个可能的解决途径。 6. **黑名单或防火墙限制**:检查是否有防火墙规则阻止了连接,或者网络策略阻止了该操作。如果有这类设置,你需要解除限制。 7. **软件冲突**:有些应用程序可能会干扰Network Manager的操作,尝试关闭其他可能影响的程序再试。 8. **系统问题**:如果上述都不行,可能是系统级别的问题,如Network Manager服务未启动或者配置文件损坏,可以尝试重启network-manager服务或者重置其配置。 在尝试修复后,如果问题依然存在,建议记录详细的错误信息,以便向社区求助或寻找开发者支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值