Работа с беспроводными сетями в среде Kali Linux начинается задолго до запуска сканеров трафика или атак на WPA2. Фундаментом всей этой деятельности является корректно работающий сетевой интерфейс, который, увы, далеко не всегда определяется системой автоматически. Многие пользователи сталкиваются с ситуацией, когда после установки дистрибутива адаптер Wi-Fi либо отсутствует в списке устройств, либо работает в некорректном режиме, не позволяя перейти в режим монитора.
Проблема отсутствия драйверов чаще всего касается внешних USB-адаптеров, особенно тех, что построены на чипсетах Realtek или MediaTek. В отличие от стандартных десктопных дистрибутивов, Kali Linux требует специфических версий драйверов, поддерживающих инъекции пакетов. Именно поэтому вопрос, как установить драйверы Wi-Fi на Kali Linux, остается одним из самых частых на форумах по информационной безопасности.
В этом руководстве мы разберем не только автоматические методы установки, но и ручную компиляцию модулей ядра, что часто является единственным выходом для новейшего или, наоборот, очень старого оборудования. Вы научитесь идентифицировать свой адаптер, находить исходный код и собирать его под текущую версию ядра, превращая неработающую «железку» в мощный инструмент аудита.
Идентификация беспроводного адаптера и проверка состояния
Первым шагом перед любыми манипуляциями с драйверами должна стать точная идентификация оборудования. Ошибки часто возникают из-за попытки установить драйвер для чипсета RTL8812AU на устройство, которое на самом деле базируется на RTL8814AU. Несмотря на схожесть названий, это разные модули ядра, и их перекрестная установка приведет к ошибкам компиляции или неработоспособности устройства.
Для начала запустите утилиту lsusb в терминале, чтобы увидеть список подключенных USB-устройств. Найдите в выводе строку, соответствующую вашему Wi-Fi адаптеру. Обратите внимание на идентификаторы Vendor ID и Product ID (например, 0bda:c811), они помогут точно определить модель чипа, даже если название бренда на корпусе устройства не совпадает с внутренним компонентом.
Также полезно проверить, видит ли ядро устройство вообще, даже без драйвера. Команда dmesg | grep -i usb покажет последние события, связанные с подключением USB. Если при подключении адаптера в логах появляется сообщение об отключении устройства или ошибках питания, проблема может быть физической.
⚠️ Внимание: Некоторые адаптеры требуют двойного подключения. Первый раз система может определить устройство как CD-ром с драйверами (режим Zero-CD), и только после установки утилиты переключения режимов (
usb_modeswitch) оно станет доступно как сетевая карта.
Далее проверьте, загружен ли какой-либо драйвер для этого устройства. Команда lsmod выведет список загруженных модулей. Если вы видите модули вроде rtl88x2bu или ath9k, значит, драйвер уже активен, и проблема может быть в настройках или блокировке rfkill. Отсутствие модуля в списке при подключенном устройстве — прямой сигнал к необходимости установки.
Авратическая установка драйверов через репозиторий Kali
Самый простой и надежный способ, который следует испробовать в первую очередь — использование встроенных репозиториев Kali Linux. Разработчики дистрибутива включают в пакеты kali-linux-top и отдельные мета-пакеты драйверы для большинства популярных адаптеров, используемых в пентесте. Этот метод гарантирует, что версии драйверов будут совместимы с текущим ядром системы.
Для начала убедитесь, что ваши списки репозиториев актуальны. Выполните команду обновления индексов пакетов:
sudo apt update
После обновления поискать драйвер по ключевым словам. Часто достаточно знать chipset. Например, для адаптеров Realtek серии 8812 часто используется пакет realtek-rtl88xxau-dkms. DKMS (Dynamic Kernel Module Support) — это технология, которая автоматически перекомпилирует модуль драйвера при обновлении ядра, что избавляет от необходимости ручной установки после каждого апдейта системы.
Если вы не знаете точное имя пакета, можно воспользоваться поиском:
apt search rtl8812
В результатах поиска обращайте внимание на пакеты с окончанием -dkms. Установка такого пакета обычно проходит в один этап:
sudo apt install realtek-rtl88xxau-dkms
В процессе установки вы увидите вывод компиляции модуля. Если ошибок нет, драйвер будет автоматически загружен. Однако, не все производители предоставляют открытые исходники, совместимые с DKMS из коробки.
Ручная установка драйверов из исходного кода (Git)
Когда готовые пакеты в репозитории отсутствуют или работают нестабильно, приходится прибегать к ручной компиляции из исходного кода. Это наиболее распространенный сценарий для новых моделей адаптеров или специфических модификаций драйверов, заточенных под инъекции пакетов. Вам потребуется установить базовый набор инструментов для компиляции.
Для начала установите необходимые зависимости:
sudo apt install -y build-essential git dkms linux-headers-$(uname -r)
Затем нужно найти репозиторий с драйвером. Чаще всего источником выступает GitHub. Например, популярный драйвер для чипов RTL8812AU можно найти по запросу"rtl8812au kali". Скопируйте URL репозитория и клонируйте его в домашнюю директорию:
git clone https://github.com/aircrack-ng/rtl8812au.git
Перейдите в созданную папку и запустите скрипт установки. Важно внимательно читать вывод терминала, так как некоторые скрипты могут требовать подтверждения действий.
cd rtl8812au
sudo./dkms-install.sh
Скрипт dkms-install.sh автоматически добавит модуль в DKMS, скомпилирует его для текущего ядра и попытается загрузить. Если скрипта нет, используйте стандартный механизм make:
make
sudo make install
⚠️ Внимание: При ручной установке драйверов через
make installбез использования DKMS, вам придется перекомпилировать и переустанавливать драйвер вручную после каждого обновления ядра Linux. Использование DKMS предпочтительнее для стабильности системы.
После успешной компиляции модуль нужно активировать. Иногда требуется вручную добавить имя модуля в файл конфигурации, чтобы он загружался при старте системы.
☑️ Чек-лист ручной установки
Работа с проприетарными драйверами Broadcom
Адаптеры Broadcom исторически являются одними из самых проблемных в среде Linux из-за закрытости их спецификаций. В Kali Linux поддержка этих устройств часто требует подключения не-free репозиториев и установки бинарных blobs. Стандартный подход"скачал-собрал" здесь работает редко.
Для начала проверьте, доступен ли пакет firmware-brcm80211. Он содержит прошивки для многих чипов Broadcom:
sudo apt install firmware-brcm80211
Если установка пакетов не помогает, возможно, вам потребуется драйвер bcmwl-kernel-source. Однако в Kali он может конфликтовать с открытыми драйверами b43 или bcma. Перед установкой проприетарного драйвера рекомендуется blacklist-ить открытые модули.
Создайте или отредактируйте файл конфигурации blacklist:
sudo nano /etc/modprobe.d/blacklist.conf
Добавьте туда строки:
blacklist b43
blacklist b43legacy
blacklist ssb
blacklist bcm43xx
blacklist bcma
После сохранения файла выполните обновление initramfs, чтобы изменения применились при загрузке:
sudo update-initramfs -u
Только после этого можно пробовать загружать модуль wl. Стоит отметить, что режим монитора на драйверах Broadcom часто работает нестабильно или не поддерживается вовсе, что делает их менее приоритетными для профессионального использования в Kali.
Почему Broadcom так сложен в Linux?
Компания Broadcom долгое время не предоставляла документацию для своих чипов, что вынудило разработчиков Linux использовать метод обратной инженерии (reverse engineering). Это привело к появлению драйверов с ограниченной функциональностью и потенциальной нестабильностью, особенно в специфических режимах работы вроде мониторинга трафика.
Сравнение популярных чипсетов для Kali Linux
Выбор адаптера — это половина успеха. Не все Wi-Fi карты одинаково полезны для задач информационной безопасности. Ключевым критерием является поддержка режима монитора и инъекций пакетов. Ниже приведена таблица, сравнивающая популярные чипсеты и их совместимость с Kali.
| Чипсет | Поддержка Monitor Mode | Поддержка Injection | Сложность установки |
|---|---|---|---|
| Atheros AR9271 | Нативная (из коробки) | Да | Низкая |
| Realtek RTL8812AU | Требует драйверов | Да | Средняя |
| Ralink RT5370 | Нативная | Да | Низкая |
| Broadcom BCM43xx | Частичная / Нестабильная | Зависит от модели | Высокая |
Адаптеры на базе Atheros считаются"золотым стандартом" благодаря отличной поддержке в ядре Linux и стабильной работе без танцев с бубном. Чипсеты Realtek популярны из-за доступности и поддержки стандарта AC, но требуют ручной установки драйверов, которые могут"слетать" при обновлении ядра, если не настроен DKMS.
При выборе устройства обращайте внимание не только на чип, но и на антенну. Для пассивного сканирования сетей на большом расстоянии антенны (dBi) важнее, чем теоретическая скорость передачи данных. Адаптер со скоростью 150 Мбит/с, но с возможностью подключения внешней антенны, будет полезнее в полевых условиях, чем двухдиапазонный свисток без разъема под антенну.
Диагностика и решение распространенных проблем
Даже после успешной установки драйвера могут возникнуть сложности. Самая частая проблема — устройство не переходит в режим монитора. Проверьте статус интерфейса командой iwconfig. Если интерфейс есть, но режим не меняется, попробуйте принудительно выключить интерфейс перед сменой режима:
sudo ip link set wlan0 down
sudo iw wlan0 set monitor none
sudo ip link set wlan0 up
Другая распространенная ошибка —"Device or resource busy". Это означает, что процесс NetworkManager или wpa_supplicant пытается управлять адаптером, мешая инструментам вроде aircrack-ng. Необходимо отключить управление сетевым менеджером для данного интерфейса или временно остановить службу:
sudo systemctl stop NetworkManager
Также стоит проверить, не блокирует ли система беспроводные устройства через rfkill. Выполните команду rfkill list. Если вы видите статус"Soft blocked: yes", разблокируйте устройство командой rfkill unblock wifi. В случае"Hard blocked", ищите физический переключатель на корпусе адаптера или ноутбука.
⚠️ Внимание: Если после обновления ядра Linux Wi-Fi перестал работать, скорее всего, слетела сборка DKMS-модуля. Зайдите в папку с исходниками драйвера и выполните команду
sudo./dkms-install.shповторно, чтобы перекомпилировать модуль под новую версию ядра.
В некоторых случаях помогает удаление модуля и его повторная загрузка:
sudo modprobe -r rtl8812au
sudo modprobe rtl8812au
Если ничто не помогает, проверьте логи /var/log/syslog сразу после подключения устройства. Там могут быть специфические ошибки, указывающие на несовместимость версии USB или нехватку питания порта.
Почему мой адаптер не видит сети 5 ГГц?
Скорее всего, установленный драйвер не поддерживает двухдиапазонный режим, или в настройках роутера отключено вещание в этом диапазоне. Также убедитесь, что в регионе установлены правильные настройки (команда iw reg set), так как в некоторых странах каналы 5 ГГц ограничены законодательно.
Можно ли использовать встроенный Wi-Fi ноутбука для пентеста?
Теоретически да, если чипсет поддерживает режим монитора и инъекции. Однако на практике встроенные карты часто имеют слабые антенны и драйверы, не оптимизированные для этих задач. Внешний адаптер с разъемом под антенну всегда предпочтительнее.
Безопасно ли скачивать драйверы с GitHub?
Используйте только проверенные репозитории с большим количеством звезд и активным сообществом (например, от aircrack-ng или мориса). Избегайте случайных форков, так как они могут содержать вредоносный код. Всегда проверяйте код перед компиляцией, если обладаете навыками чтения C.
Что делать, если команда make выдает ошибку?
Внимательно прочитайте последние строки вывода. Чаще всего ошибка связана с отсутствием заголовочных файлов ядра (linux-headers) или несовместимостью версии компилятора. Убедитесь, что версия драйвера соответствует версии вашего ядра Linux.