nmcli 不能设置监听模式,因其专为托管模式设计,不支持绕过协议栈的 monitor 模式;正确做法是先禁用 networkmanager 管理,再用 airmon-ng 启用监听。

nmcli 不能设置监听模式。这是关键前提——NetworkManager(及其命令行工具 nmcli)专为常规网络连接设计,只管理 Managed(托管)模式,即正常上网用的模式。它不支持、也不允许将无线网卡切换到 Monitor 模式。
为什么 nmcli 不行
Monitor 模式绕过系统网络协议栈,直接从射频层捕获所有帧,与 NetworkManager 的连接管理逻辑冲突。一旦启用 Monitor 模式,原接口会断开所有上层连接(如 DHCP、IP 地址、路由),nmcli 会检测到“设备不可用”或主动禁用该接口。
试图用 nmcli 强制修改模式(例如通过底层 phy 配置)不仅无效,还可能触发 NetworkManager 自动恢复行为,导致监听中断或接口反复重启。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
正确路径:绕过 NetworkManager,用专用工具
要进行信号审计(如扫描 AP、捕获 EAPOL 握手包、分析信道占用),必须停用 NetworkManager 对无线接口的控制,改用底层无线工具链:
- 先关闭 NetworkManager 对目标网卡的管理:
sudo nmcli device set <interface> managed no</interface>(例如wlan0) - 终止可能干扰的进程:
sudo airmon-ng check kill - 启用监听模式:
sudo airmon-ng start <interface></interface>(生成如wlan0mon的新接口) - 验证状态:
iw dev应显示type monitor;iwconfig <new_interface></new_interface>中 Mode 显示为 Monitor
监听前必须确认的三件事
不是所有无线网卡都可用:
-
硬件支持:芯片需原生支持 Monitor 模式(如 Atheros AR9271、RTL8187、部分 Intel iwlwifi 型号)。可用
sudo lshw -c network查驱动,并对照 Linux Wireless 官方驱动支持表 确认 monitor 列为 yes -
驱动就绪:避免使用被 NetworkManager 加载的闭源或阉割驱动。Kali Linux 默认启用兼容驱动;Ubuntu 用户常需手动安装
firmware-iwlwifi或换用linux-firmware最新版 - 物理接口可用:内置网卡在多数笔记本上受限(BIOS/固件锁、MAC 过滤);推荐使用外置 USB 网卡(如 TP-Link TL-WN722N v1、Alfa AWUS036NHA)
完成审计后务必恢复
监听模式下无法上网。审计结束后需还原为 Managed 模式并交还 NetworkManager 管理:
- 停止监听:
sudo airmon-ng stop <monitor_interface></monitor_interface>(如wlan0mon) - 重新启用 NetworkManager 控制:
sudo nmcli device set <original_interface> managed yes</original_interface> - 重启网络服务或手动连接:
sudo systemctl restart NetworkManager或nmcli device wifi connect <ssid> password <pwd></pwd></ssid>










