更新时间:2022-10-29 15:17
监听器模式或RFMON(射频监视器)模式允许具有无线网络接口控制器(WNIC)的计算机监视从无线网络接收到的所有流量。与也用于数据包嗅探的混杂模式不同,监听器模式允许捕获数据包,而不必首先与接入点或ad hoc网络相关联。监听器模式仅适用于无线网络,混合模式可用于有线和无线网络。监听器模式是802.11无线网卡可以运行的八种模式之一:主站(充当接入点),管理(客户端,也称为站),Ad hoc,Repeater,Mesh,Wi-Fi Direct,TDLS和Monitor模式。
监听器模式(monitor mode),或RFMON(Radio Frequency MONitor),是指无线网卡可以接收所有经过它的数据流的工作方式,对应于IEEE 802.11网卡的其他模式,诸如Master(路由器)、Managed(普通模式的网卡)、Ad-hoc等。监听器模式不区分所接收数据包的目标MAC地址,这点和混杂模式类似。然而,和混杂模式不同的是,监听器模式的不需要和无线接入点(AP)或Ad-hoc网络建立连接。监听模式是无线网卡特有的特殊模式,而混杂模式应用于有线网卡和无线网卡。
监听器模式通常用于网络发现、流量监听和分组分析。Linux、Mac OS X、Windows以及其他Unix-like平台有使用监听器模式的网络发现、抓包工具,如KisMAC、Kismet、Wireshark、Aircrack-NG等。
监听器模式的一些用途包括:地理数据包分析,观察广泛的流量,ESP。针对不安全的频道(如通过WEP),以及通过亲身体验获得Wi-Fi技术的知识。在Wi-Fi网络构建的设计阶段,这种模式也有点用处,可以发现有多少Wi-Fi设备已经在特定区域使用频谱,以及该区域中各种Wi-Fi频道的忙碌情况。这有助于更好地规划Wi-Fi网络,并通过为新的Wi-Fi网络选择最少使用的频道来减少对其他Wi-Fi设备的干扰。
通常,无线适配器无法在监听器模式下传输,并且仅限于单个无线通道,但这取决于无线适配器的驱动程序,其固件和芯片组的功能。此外,在监听器模式下,适配器不检查循环冗余校验(CRC)值是否对捕获的数据包正确,因此某些捕获的数据包可能已损坏。
在微软的Windows网络驱动程序接口规范(NDIS)API不支持老版本的Windows的无线监控模式的任何扩展。NDIS 6可以在Windows Vista和更高版本的Windows中使用,因此可以启用监听器模式。NDIS 6支持将802.11帧暴露于较高的协议级别;使用以前版本的NDIS,只有从802.11数据帧转换而来的假以太网帧才能暴露于上层协议层面。NDIS 6中的监听器模式支持是可选功能,可能会或可能不会在客户机适配器驱动程序中实现。NDIS规范的实施细节和合规性因供应商而异。在很多情况下,供应商无法正确实施监听器模式支持。例如,Ralink驱动程序报告不正确的dBm读数,Realtek驱动程序不包含尾随的4字节CRC值。
对于Windows Vista之前的Windows版本,某些数据包分析器应用程序(如Wildpackets的OmniPeek和TamoSoft的CommViewfor WiFi)提供了自己的设备驱动程序以支持监听器模式。
Linux的802.11驱动程序接口支持显示器模式,许多驱动程序都提供这种支持。STA驱动程序(Ralink,Broadcom)和其他制造商提供的驱动程序不支持显示器模式。FreeBSD,NetBSD,OpenBSD和DragonFly BSD还为支持监听器模式的802.11驱动程序提供接口,并且这些操作系统的许多驱动程序也支持监听器模式。在Mac OS X10.4及更高版本中,AirPort Extreme网络适配器的驱动程序允许适配器进入监听器模式。Libpcap库1.0.0和更高版本提供了一个API来在这些操作系统上捕获时选择监听器模式。