我正在使用 Ubuntu 22.04.2 LTS
就上下文而言,我正尝试让 Wireshark 监控我的 wifi 接口,但遇到了麻烦。
这些是我正在使用的命令:
1.sudo service NetworkManager stop
2.sudo ip link set <interface> down
3.sudo iw <interface> set monitor none
sudo ip link set <interface> up
sudo service NetworkManager restart
我希望我的 wifi 能在这里重新连接,但什么也没发生。我检查了一下,sudo systemctl status NetworkManager
它显示网络管理器处于活动状态。
我试过了,nmcli networking on
但没成功。sudoifconfig <interface> down
和 也一样ifconfig <interface> up
。没用。如果我删除所有NetworkManager
命令,我就可以断开 wifi 连接,并且毫无问题地连接到 wifi,但是一旦我进入 Wireshark,似乎就无法保持监控模式。Wireshark 论坛上的一个建议是关闭并打开网络管理器,所以我在这里尝试让它工作。
我怎样才能从这里重新使用 WiFi,而不必重新启动计算机?
答案1
如果您只是想在连接到 WiFi 时监控来自连接的流量,则无需使用监控模式。
此外,如果设备处于监控模式,NetworkManager 将不会连接到你的 wifi AP,它必须处于管理模式由 NetworkManager 进行管理。
首先,运行以下命令返回管理模式:
sudo iwconfig <device> mode managed
然后重新启动 NetworkManager:
sudo systemctl restart NetworkManager
这应该会将您重新连接到您的 wifi 网络接入点,或者如果它没有自动连接,您应该至少能够从可用网络列表中选择您的接入点进行连接。
因此,如果您只想监控设备的流量,只需运行 wireshark 即可:
sudo -i wireshark
然后从设备列表中选择您的接口。例如:wlp1s0
它应该开始捕获流量。
现在,如果您确实想使用监控模式,您可以在监控模式下创建一个单独的虚拟接口。
使用以下内容列出您的设备:
信息设备开发
这应该显示类似的内容phy#0
。
举phy#0
个例子,我们将使用phy0
以下命令添加一个名为的监视设备mon0
:
sudo iw phy phy0 interface add mon0 type monitor
现在,启动设备:
sudo ifconfig mon0 up
此时,您可以停止 NetworkManager 并以无线监控模式运行 Wireshark:
sudo systemctl stop NetworkManager
sudo -i wireshark
mon0
并从接口列表中选择。
如果没有 NetworkManager,您将无法通过您的设备使用互联网,但您将可以嗅探到范围内其他设备广播监控到的各种流量。
mon0
在使用 NetworkManager 连接互联网或使用常规无线设备时,可以监控使用情况wlp1s0
。但我认为这并不理想,而且当我这样做时,它似乎无法嗅探范围内所有其他广播设备。
另外,当您使用完 Wireshark 后,您可以删除您的监控设备:
sudo iw dev mon0 del