![Нужны ли режиму монитора собственные драйверы?](https://rvso.com/image/1597825/%D0%9D%D1%83%D0%B6%D0%BD%D1%8B%20%D0%BB%D0%B8%20%D1%80%D0%B5%D0%B6%D0%B8%D0%BC%D1%83%20%D0%BC%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B0%20%D1%81%D0%BE%D0%B1%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5%20%D0%B4%D1%80%D0%B0%D0%B9%D0%B2%D0%B5%D1%80%D1%8B%3F.png)
Я видел несколько карт wifi, например CYW43455 на Raspberry pi 3b+, которые поддерживают режим монитора, но не из коробки. Чтобы включить режим монитора, вам понадобятся драйверы nexmon отсюда:
Означает ли это, что даже если чип Wi-Fi поддерживает режим монитора, это не значит, что вы сможете перейти в режим монитора? Например, у меня есть телефон Xperia Z5 Compact, который я рутировал и установил Lineage OS, в нем есть карта Wi-Fi BCM43455. Когда я пытаюсь включить на нем режим монитора, он говорит, что режим монитора не поддерживается. Я вижу под списком nexmon, что BCM43455 указан как устройство, поддерживающее режим монитора с драйверами nexmon.
решение1
Это потому, что вы не можете напрямую управлять оборудованием из приложения пользовательского режима. Пользовательское приложение отправляет запросы драйверу, а драйвер общается с оборудованием. Если драйвер ничего не знает о режиме монитора (или он был просто пропущен в драйвере), то он скажет, что режим монитора не поддерживается. Так что да, у вас должен быть драйвер, который знает о режиме монитора и предоставляет некоторый API для приложений пользовательского режима, чтобы включить этот режим монитора и, конечно, обойти все захваченные пакеты в пользовательском приложении.