nmcli device wifi list
是 NetworkManager 的命令行工具 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 scan
和 wpa_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 list | wpa_cli scan 和 wpa_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 scan
和wpa_cli scan_result
:提供更底層的 Wi-Fi 管理和調試功能,適用于開發人員和技術人員,能夠顯示更多詳細的掃描信息并進行調試。
根據你的需求,選擇使用合適的命令。例如,如果你需要更簡便的 Wi-Fi 網絡掃描和連接管理,nmcli
是一個更好的選擇;如果你需要更底層的操作或調試,wpa_cli
更適合。