Wifi 接口模式自动切换回托管(Ubuntu 20.04)

Wifi 接口模式自动切换回托管(Ubuntu 20.04)

如果我使 wifi 接口离线:sudo ifconfig device_name down

然后将模式切换为监控:sudo iwconfig device_name mode monitor

然后使设备重新上线:sudo ifconfig device_name up

它保持监控模式约 3-5 秒,然后自动切换回managed模式。

我用 iwconfig 检查了它,而且如果我开始运行 wireshark,它会因此停止运行并出现错误The network adapter on which the capture was being done is no longer running; the capture has stopped.

在此处输入图片描述

我该如何预防?

答案1

我认为是网络管理器在干扰。我也不认为这sudo ifconfig device_name on是正确的。请尝试:

sudo service NetworkManager stop
sudo ifconfig wlp0s20f3 down
sudo iwconfig wlp0s20f3 mode monitor
sudo ifconfig wlp0s20f3 up

启动 wireshark,看看是否有任何改善。

答案2

有趣的是,当我尝试chili555的建议,它成功进入wlan1监控模式,但完全断开连接wlan0。然而,当我重新启动时NetworkManager,它恢复wlan0并保持wlan1监控模式。

不幸的是,当我重新启动设备时,wlan1状态又恢复为监控,几秒钟后又恢复为管理。

多年来,我一直运行着数十台这样的设备,其中一个 Wi-Fi 连接到 SSID,另一个处于监控模式。我不确定这台设备的配置有什么不同,为什么会突然开始出现这样的行为,但我开始寻找替代解决方案,并发现了这一点:https://support.qacafe.com/cdrouter/knowledge-base/prevent-network-manager-from-controlling-an-interface/

配置网络管理器以忽略测试接口

网络管理器有一个命令行工具,可用于查看它正在控制哪些接口。打开终端窗口并输入以下命令:

nmcli dev status

这将显示一个表格,其中列出了所有网络接口及其STATE。如果网络管理器未控制某个接口,则其STATE将列为unmanaged。任何其他值都表示该接口在网络管理器控制之下。

告诉网络管理器停止控制接口的首选方法是创建/更新目录中的文件/etc/NetworkManager/conf.d/并为其提供以下内容。您可以将文件命名为任何带后缀的名称.conf,但该目录中的所有文件都将按编码顺序读取。稍后读取的文件将覆盖先前读取的文件片段。确保列出了密钥文件插件。其他插件也可能列出。

[main] plugins=ifcfg-rh,keyfile

[keyfile] unmanaged-devices=interface-name:eth0;interface-name:wifi1

keyfile 部分还可以包含通配符和例外,如下所示:

[keyfile]
unmanaged-devices=interface-name:eth*,except:interface-name:eth0,except:interface-name:eth3;interface-name:wifi*

接口也可以通过其 MAC 地址(小写)来定义:

[keyfile]
unmanaged-devices=mac:00:11:22:33:44:55;mac:66:77:88:99:00:aa 

重新启动以使更改生效。

以上解决了我的特定问题。

相关内容