Уже имеется инструкция «Перевод беспроводной карты в режим монитора (наблюдения) в BlackArch». Она не перестала быть рабочей, но применяемые в ней программы ifconfig и iwconfig помечены как устаревшие. По этой причине они не устанавливаются по умолчанию и нужно быть готовым к их исчезновению из репозиториев.
Поэтому вашему вниманию предлагается данная актуализированная инструкция. В ней мы не будем задействовать устаревшие команды, а будем использовать новые, которые пришли им на смену.
Итак, начать нужно с того, чтобы узнать имя интерфейса. Ранее для этого мы использовали команду iwconfig без опций, теперь нужно делать так:
iw dev
[mial@HackWare ~]$ iw dev phy#0 Interface wlp2s0 ifindex 3 wdev 0x1 addr c4:85:08:e1:67:ed type managed [mial@HackWare ~]$
Нас интересуют строка Interface wlp2s0 (т. е. имя интерфейса wlp2s0). Чтобы два раза не вставать, давайте заодно ещё посмотрим на строку type managed. Т.е. интерфейс находится в управляемом режиме (managed).
Нам нужно перевести его в режим монитора. Сделать это можно так (понятное дело, замените wlp2s0 на имя вашего беспроводного интерфейса — не зря же мы его узнавали). Обратимся к статье на ZaLinux.ru, чтобы найти аналоги команды ifconfig. Там же находим альтернативу и для iwconfig.
В общей сложности у нас получается так:
sudo ip link set wlp2s0 down sudo iw wlp2s0 set monitor control sudo ip link set wlp2s0 up
Делакам проверку:
[mial@HackWare ~]$ iw dev phy#0 Interface wlp2s0 ifindex 3 wdev 0x1 addr c4:85:08:e1:67:ed type monitor channel 1 (2412 MHz), width: 20 MHz (no HT), center1: 2412 MHz [mial@HackWare ~]$
Отлично! Строка type monitor говорит нам о том, что всё получилось.
Каналы менять так:
sudo iw wlp2s0 set channel <номер желаемого канала>
К примеру, переходим на шестой канал:
sudo iw wlp2s0 set channel 6
Как видим, всё опять сработало:
Запишем полученные команды в одну строку:
sudo ip link set wlp2s0 down && sudo iw wlp2s0 set monitor control && sudo ip link set wlp2s0 up
Следующая большая команда должна сама определять имя беспроводного интерфейса и переводить его в режим монитора:
t=`iw dev | grep 'Interface' | sed 's/Interface //'`;sudo ip link set $t down && sudo iw $t set monitor control && sudo ip link set $t up
Кстати, давайте вернёмся к команде:
sudo iw wlp2s0 set monitor control
Самое последнее слово — none — это флаг, бывают следующие флаги:
Набор флагов монитора. Валидные флаги: none: без специального флага fcsfail: показать фреймы с FCS ошибками control: показать контрольные фреймы otherbss: показать фреймы от других BSS cook: использовать режим cooked active: использовать active режим (входящие одноадресные пакеты ACK)
Как вы уже заметили, нам нужен флаг флаг control.
При определённых условиях NetworkManager может не дасть Wi-Fi адаптеру перевестись в режим монитора. Более того, уже переведённую в режим монитора беспроводную карту он может вернуть в управляемый режим. Поэтому рекомендуется отключать NetworkManager при тестировании на проникновение беспроводных сетей.
В BlackArch и Kali Linux это делается так:
sudo systemctl stop NetworkManager
Примечание, после отключения NetworkManager пропадёт Интернет!
Также дополнительно рекомендуется выполнить:
sudo airmon-ng check kill
Близкие статьи
- Перевод беспроводной карты в режим монитора (наблюдения) в BlackArch (87.9%)
- Массовый автоматизированный захват рукопожатий в BlackArch с помощью zizzania (82.4%)
- Особенности атак на Wi-Fi из BlackArch (72.3%)
- Массовый взлом рукопожатий в BlackArch с помощью Pyrit (72.3%)
- Решение ошибки reaver: invalid option -- 'K' (60.1%)
- Установка проприетарных драйверов AMD (Catalyst 15.9) на BlackArch / Arch (RANDOM - 5.5%)
Спасибо за русскую документацию. Хотелось бы побольше инструкций и т.д. увидеть
В той статье речь идёт об одном из режимов терминала при обработке им посылаемых с клавиатуры специальных символов. Про 802.11 там упоминаний нет.
В прошлом месяце вышла заметка от авторов Aircrack-ng: https://aircrack-ng.blogspot.ru/2017/02/monitor-mode-flags.html Там описываются все эти флаги (надо добавить в мою заметку, кстати), он говорит, что нужно использовать флаг none. Сейчас проверил, действительно работает с none. На момент написания, или я что-то делал не так, или был баг в программе.