![监控模式是否需要自己的驱动程序?](https://linux22.com/image/1597825/%E7%9B%91%E6%8E%A7%E6%A8%A1%E5%BC%8F%E6%98%AF%E5%90%A6%E9%9C%80%E8%A6%81%E8%87%AA%E5%B7%B1%E7%9A%84%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%EF%BC%9F.png)
我见过一些 wifi 卡,比如 Raspberry pi 3b+ 上的 CYW43455,它支持监控模式,但不是开箱即用的。要启用监控模式,您需要此处的 nexmon 驱动程序:
这是否意味着即使 wifi 芯片支持监控模式,也并不意味着您能够进入监控模式?例如,我有一部 Xperia Z5 Compact 手机,我已将其 root 并安装了 Lineage 操作系统,它有 BCM43455 wifi 卡。当我尝试在其上启用监控模式时,它显示不支持监控模式。我可以在 nexmon 列表下看到,BCM43455 被列为支持使用 nexmon 驱动程序的监控模式的设备。
答案1
这是因为您无法直接从用户模式应用程序控制硬件。用户应用程序向驱动程序发送请求,驱动程序与硬件对话。如果驱动程序对监控模式一无所知(或者驱动程序只是跳过了监控模式),那么它会说不支持监控模式。所以是的,您应该有一个知道监控模式的驱动程序,并为用户模式应用程序提供一些 API 来启用此监控模式,当然,还要将所有捕获的数据包绕过到用户应用程序。