![混杂模式不起作用](https://linux22.com/image/1483301/%E6%B7%B7%E6%9D%82%E6%A8%A1%E5%BC%8F%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
我搜索了一下,听说混杂模式可以让我们监听我们关联的接入点中的所有无线流量。但是当我将此模式与 wireshark 一起使用时,我没有得到我期望的确切结果,我只得到了我的机器的流量和广播数据包。
当我看到该信息时,我认为我的接入点中可能没有流量,因此我用另一台机器进行了一些 arp 欺骗(成为我的一台机器和 AP 之间的中间人),在这种情况下,wireshark 向我显示了该机器的流量。
那么,到底出了什么问题?可能是我的无线网卡不支持混杂模式?或者可能是我的接入点使用了一些阻止嗅探的技术?对于这两种情况,请给我一个解释,如果有解决方案的话,请告诉我。
PS:我使用的是 Ubuntu 15.10,Linux 内核 > 4。
PS2:这都是合法的,我有一个关于嗅探的项目,我所做的所有测试都是在我的材料上进行的。
答案1
混杂模式在客户端隔离期间,您并不总是能够看到流量。混杂模式仅表示您的 PC 将处理所有接收和解码的帧。在许多 AP/wnic/ose 上,混杂模式不会看到其他系统的流量。
来自Wireshark文档:
监控模式
在监控模式下,上面提到的 SSID 过滤器被禁用,并且捕获当前选定通道的所有 SSID 的所有数据包。
即使在混杂模式下,802.11 适配器也只会向主机提供适配器已加入的 SSID 的数据包(假设混杂模式可以正常工作);即使它“有效”,它也可能只向主机提供在非混杂模式下看到的相同数据包。虽然它可以在无线电级别接收其他 SSID 上的数据包,但它不会将它们转发给主机。
监控模式(我相信这是您想要的)将捕获来自该 SSID 以及范围内的其他 SSID 的所有流量。
Wireshark 文档继续说道:
因此,为了捕获适配器可以接收的所有流量,必须将适配器置于“监控模式”,有时称为“rfmon 模式”。在此模式下,驱动程序将使适配器处于一种模式,在该模式下,它将向主机提供来自所有服务集的数据包。根据适配器和驱动程序的不同,这可能会将适配器与 SSID 分离,这样计算机就无法使用该适配器进行网络流量,或者它可能使适配器保持关联,以便它仍可用于网络流量。如果它将适配器与 SSID 分离,并且主机没有任何其他网络适配器,它将无法:
* resolve addresses to host names using a network protocol such as DNS; * save packets to a file on a network file server; * etc..
WinPcap 不支持监控模式,因此 Windows 上的 Wireshark 或 TShark 也不支持该模式。但至少部分接口支持该模式,部分 Linux、FreeBSD、NetBSD、OpenBSD、DragonFly BSD 和 Mac OS X 版本也支持该模式。
您可能必须执行与操作系统相关和与适配器类型相关的操作才能启用监控模式,如下面的“打开监控模式”部分所述。
来源:https://wiki.wireshark.org/CaptureSetup/WLAN#A802.11_Filter_.28Modes.29