Как на линукс подключить wifi
Как настроить Wifi-соединение на любом Linux-десктопе
Давайте рассмотрим два случая настройки соединения с беспроводной точкой доступа:
— графическое приложение Wicd ( для примера );
— консольные утилиты.
Вступление
Предполагается, что у вас имеется беспроводное сетевое устройство (адаптер), который работает под Linux. Если вы вдруг обнаружили, что ваше устройство не работает, можно предложить, как один из вариантов для новичков, поставить последнюю версию дистрибутива Ubuntu и установить проприетарные драйвера для своей беспроводной карточки. Предложенный случай является наиболее простым и действенным, по сравнению с попытками заставить работать адаптер через драйвер ndiswrapper.
Командная строка
Давайте теперь посмотрим, как настроить wifi-соединение через командную строку. К слову сказать, такой способ является универсальным, так как используются утилиты, являющиеся стандартными для всех дистрибутивов Linux. Более того, все приложения с графическим интерфейсом (GUI) основаны на работе именно этих утилит. Образно говоря, если мы «снимем» «крышу» GUI у любого графического приложения, то под ней мы увидим скромных и незаметных тружеников консоли: ifconfig, wireless-tools, wpa_supplicant, ping, nmap и многих других.
Для выполнения нашей задачи понадобятся следующие утилиты:
Рассмотрим пример подключения к wifi-точке с шифрованием WEP
Естественно, вышеуказанные шаги выполнять каждый раз утомительно. Можно упростить процесс установки соединения, написав скрипт подключения, в котором мы объединим все эти команды в одно целое:
Здесь мы добавили еще одну команду sleep с параметром 10 секунд. Это рекомендуется делать перед получением IP-адреса для надежности установки соединения.
Сохраняем этот файл под каким-либо именем (например, wireless_up) и делаем его исполняемым командой:
Переносим wireless_up по пути /usr/local/bin, чтобы сделать его глобально видимым всей системой.
Теперь вам достаточно набрать в командной строке:
. и соединение будет установлено.
Соединение с таким шифрованием поддерживает только утилита wpa_supplicant, поэтому она нам понадобиться. Также, опять таки, предполагаем, что мы знаем ключ (пароль) шифрования этой точки доступа.
Утилита выдаст сгенерированную строку psk, которую мы вставим в конфигурационный файл wpa_supplicant.conf:
Это очень упрощенный файл конфигурации, но он будет работать. Возможно, вам потребуется добавить в шапку этого файла еще одну строку:
для предоставления необходимых прав доступа.
3. Указываем, к какой точке мы хотим подключиться:
На выводе увидим подробную информацию по указанному интерфейсу wlan0.
Заключение
В зависимости от дистрибутива Linux, существует множество способов настройки wifi-соединений. Именно благодаря такому разнообразию настроить соединение можно практически в любой Linux-системе.
Главное, чтобы сам беспроводной адаптер поддерживался в Linux на уровне драйверов. Но это уже зависит главным образом от разработчиков операционных систем.
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Памятка по Wi-Fi в Linux: подсказки и решение проблем
Оглавление
Проблемы и ошибки Wi-Fi в Linux
Эта статья представляет собой сборник проблем Wi-Fi, с которыми вы можете столкнуться в Linux. Охвачены вопросы как тестирования безопасности беспроводных сетей, так и подключения к Wi-Fi.
Если вы не нашли решения для своей проблемы с Wi-Fi, то спрашивайте в комментариях. Данная статья буде пополняться описанием новых проблем Wi-Fi и их решениями.
Рецепты популярных действий с Wi-Fi в Linux
Как узнать имя беспроводного интерфейса
Имя интерфейса в строке «Interface»:
Если вы получили ошибку:
То выполните данную команду с sudo:
Как остановить программы, которые мешают аудиту безопасности Wi-Fi
Настоятельно рекомендуется перед переводом Wi-Fi интерфейса в режим монитора выполнить следующие две команды:
Если у вас странные ошибки при использовании режима монитора, то обязательно выполните эти команды.
После отключения NetworkManager пропадёт интернет, чтобы его вернуть, переведите беспроводной интерфейс в управляемый режим и выполните команду для запуска NetworkManager:
Примечание: Смотрите также следующий раздел «Как вывести определённый сетевой интерфейс из-под управления NetworkManager не выключая NetworkManager».
Как вывести определённый сетевой интерфейс из-под управления NetworkManager не выключая NetworkManager
Необязательно полностью отключать NetworkManager, можно сделать так, что NetworkManager не будет управлять определённым сетевым интерфейсом.
Чтобы на время сделать интерфейс unmanaged (без управления), выполните команду вида:
Чтобы NetworkManager не трогал сетевой интерфейс сразу после запуска службы и чтобы эта настройка сохранилась после перезагрузки, нужно использовать метод keyfile. Для этого откройте файл /etc/NetworkManager/NetworkManager.conf:
И добавьте туда строки вида:
Либо используя следующий синтаксис можно указать имена сетевых интерфейсов:
Сохраните сделанные изменения и перезапустите службу:
Как перевести карту в режим монитора перед началом аудита безопасности Wi-Fi в Linux
Как вернуть адаптер в управляемый режим
Как поменять канал Wi-Fi адаптера
Устанавливать каналы можно только когда адаптер находится в режиме монитора:
Как проверить, поддерживает Wi-Fi адаптер беспроводные инъекции
Как узнать, какие частоты поддерживает адаптер и другие характеристики
Как поменять регион для увеличения мощности
Чтобы проверить текущее значение:
Чтобы установить новый регион:
Чтобы увеличить мощность:
Как сканировать ТД в командной строке
Для таких сканирований не нужен режим монитора.
Для сканирования точек доступа:
Чтобы сканировать и вывести только названия ТД:
Как получить данные беспроводного интерфейса на канальном уровне
Чтобы вывести информацию на уровне передачи данных от устройства к устройству (он называется канальный (data link)):
Как подключиться к Точке Доступа Wi-Fi в командной строке
Нам нужно сформировать конфигурационный файл. Делается это командой:
Подключаемся к точке доступа:
Для получения автоматических настроек по протоколу DHCP (присвоенный IP адрес, IP адрес шлюза и IP адреса DNS серверов) выполните команду:
Как подключиться к Точке Доступа Wi-Fi в командной строке зная WPS пин
Как увидеть все ТД
Автоматизированный захват рукопожатий:
Как выполнить поиск ТД на 5 GHz
Конвертация в хеш Hashcat (.hccapx)
Для конвертации в хеш формата HCCAPX для взлома пароля (Hashcat v3.6+) с помощью cap2hccapx (пакет hashcat-utils):
Для конвертации в хеш формата HCCAPX для взлома пароля (Hashcat v3.6+) с помощью aircrack-ng:
Запуск брут-форса (взлома) пароля Wi-Fi сети в Hashcat
В примере выше маска — пароли из цифр длиной 8 символов.
Встроенные наборы символов:
Конвертация в хеш John the Ripper
Если вы хотите взламывать сразу все рукопожатия, то выполните команду:
Можно сохранить рукопожатие для определённой точки доступа, её нужно указать с опцией -m, указывать нужно не название, а BSSID — проще говоря, MAC адрес.
Чтобы сохранить рукопожатие только для определённой ТД, выполните команду вида:
Запуск брут-форса (взлома) пароля Wi-Fi сети в John the Ripper
Ддля запуска атаки по словарю, используя центральный процессор, выполните команду вида:
Для запуска атаки по словарю, используя видеокарту, выполните команду:
Чтобы перебрать все пароли, состоящие только из цифр и длиной от 8 до 10 символов и выполнять вычисления на ЦП, запустите команду вида:
Чтобы перебрать все пароли, состоящие только из цифр и длиной от 8 до 10 символов и выполнять вычисления на видеокарте, выполните команду вида:
Чтобы перебрать все пароли, состоящие из цифр, а также большим и маленьких букв, длиной 8 символов и выполнять вычисления на ЦП, запустите команду вида:
Чтобы перебрать все пароли, состоящие из цифр, а также большим и маленьких букв, длиной 8 символов и выполнять вычисления на видеокарте, выполните команду вида:
Как добавить виртуальный интерфейс в режиме монитора
Чтобы добавить новый виртуальный интерфейс в режиме монитора:
Чтобы добавить новый виртуальный интерфейс в режиме монитора и установить для него MAC-адрес:
Как создать ТД на компьютере
С помощью create_ap вы можете сделать Точку Доступа в одну команду. Благодаря ТД все ваши устройства смогут использовать одно проводное подключение или вы сможете усилить сигнал от удалённой точки доступа.
Например, чтобы создать ТД с именем MyAccessPoint и паролем PASSWORD1 на беспроводном интерфейсе wlan0, Интернет-подключение будет обеспечиваться через интерфейс eth0:
Как усилить Wi-Fi сигнал от удалённой ТД
Вы можете усилить сигнал от удалённой Точки Доступа если у вас имеется два или хотя бы один Wi-Fi адаптер. Подробности смотрите в статье «Виртуальные Wi-Fi интерфейсы для одновременного использования Wi-Fi адаптера в разных режимах».
Как поменять MAC-адрес Wi-Fi адаптера
Поскольку со сменой MAC-адреса имеются неочевидные нюансы, то для начала рекомендуется познакомиться со статьёй «Как поменять MAC-адрес в Linux, как включить и отключить автоматическую смену (спуфинг) MAC в Linux»
Для спуфинга MAC-адреса на совершенно произвольный адрес:
Как задать вопрос о проблеме с Wi-Fi адаптером
Для начала укажите название Wi-Fi адаптера. Если вы его покупали с АлиЭкспресс, то обязательно укажите это тоже.
Укажите суть вашей проблемы, примеры:
Напишите, какие команды вводите и какой результат получаете. Чем подробнее информация, тем больше шансов на помощь.
Если вы просто пишите, что «у меня не работает режим монитора/захват рукопожатий/деаутентификация/беспроводная инъекция/что-то своё/…» и не даёте никакой дальнейшей информации, то никто не знает, оно у вас действительно не работает или вы неправильно это делаете. На заданный понятно и полно вопрос мы обязательно постараемся ответить. Ввязываться в беседы, где надо вытягивать информацию по частям чтобы вам же и помочь, не очень интересно.
Также покажите вывод следующих команд:
Для любых адаптеров:
Вы можете самостоятельно попробовать решить проблему запустив одну из следующих команд и пытаясь проделать необходимые вам действия:
По крайней мере, выводимая этими командами информация может дать вам подсказку о причине проблемы или сообщить хоть какие-то ошибки, если ваша проблема не сопровождается выводом ошибок.
Частые ошибки Wi-Fi в Linux
Ошибка «Operation not permitted (-1)»
Означает, что недостаточно прав, запустите команду iw с sudo.
Device or resource busy (-16)
Данная ошибка возникает, например, если вы пытаетесь перевести Wi-Fi адаптер на определённый канал, но он не в режиме монитора и/или не в состоянии up. Начните с перевода карты в режим монитора, переведите беспроводную карту в состояние up, а затем установите желаемый канал. Например:
Другой причиной ошибки может быть то, что вы пытаетесь перевести в режим монитора или в управляемый режим сетевой интерфейс, который находится в состоянии «up».
Ошибка «command failed: Network is down (-100)» во время сканирования «iw dev wlan0 scan»
Если во время сканирования сетей с помощью команды «iw dev ИНТЕРФЕЙС scan»:
вы получили следующую ошибку:
то она означает, что сетевой адаптер находится в режиме «down», то есть не активирован. Для его активации выполните команду:
Если это не помогло, то проверьте не заблокирован ли интерфейс:
Если интерфейс заблокирован, то разблокируйте его, а затем снова переведите в режим «up».
Ошибка «command failed: Operation not supported (-95)» во время сканирования «iw dev wlan0 scan»
Если при сканировании сетей с помощью iw
вы получили следующую ошибку
то её причина может быть в том, что в данный момент сетевой интерфейс находится в режиме монитора (monitor), для исправления ошибки переведите его в управляемый режим (managed).
Ошибка «command failed: Device or resource busy (-16)» во время сканирования «iw dev wlan0 scan»
Если при сканировании сетей с помощью iw
вы получили следующую ошибку
То её причина в том, что сетевое устройство уже используется другой программой. Попробуйте выполнить сканирование позже, либо попытайтесь выявить, какая программ использует сетевой интерфейс.
Не удаётся запустить режим AP в диапазоне 5 ГГц
По-видимому, со специальным кодом страны 00 (глобальный) для всех используемых частот в диапазоне 5 ГГц будет установлен флаг no-ir (no-initiating-radiation), который не позволит hostapd использовать их. Вам нужно будет установить crda и указать код страны, чтобы разрешённые в вашей стране частоты были доступны для hostapd.
Режим точки доступа Wi-Fi 5 ГГц: что означает «no-ir»?
cfg80211 имеет функцию под названием beacon hinting, чтобы помочь cfg80211 разрешить карте снимать флаги пассивного сканирования и запрета маяков. Флаги пассивного сканирования используются на каналах, чтобы гарантировать, что интерфейс не будет выдавать пробный запрос. Флаг no-ir существует, чтобы позволить определениям регулирующих доменов запрещать устройству инициировать излучение любого рода, включая использование маяков, поэтому, например, интерфейсы AP/IBSS/Mesh/GO не смогут инициировать связь по этим каналам, если только канал не имеет этого флага. Если на канале присутствует какой-либо из этих флагов, устройству запрещается инициировать обмен данными на cfg80211.
Старые флаги нормативных правил, такие как passive-scan (пассивное сканирование) и no-beaconing (отсутствие маяков), изначально были изобретены, чтобы помочь с мировым роумингом, теперь эти два флага объединены в один no-ir, для no-initiating-radiation (отсутствия инициирующего излучения). Если вы не знаете, в какой стране находитесь, вы все равно можете вести себя как интерфейс 802.11 STA, но можете дождаться включения активного сканирования, пока не увидите маяк от точки доступа, если используемый канал не является каналом DFS и не каналами 12- 14 в диапазоне 2,4 ГГц. То же самое можно сказать и об инициировании связи, поэтому как старое пассивное сканирование, так и отсутствие маячков теперь объединены в современных ядрах, поскольку один флаг no-ir может быть снят, если обнаружена точка доступа, передающая маяк на канале, отличном от DFS и канал также не является каналами 12-14 в диапазоне 2,4 ГГц. cfg80211 использует эту часть логики для снятия обоих этих флагов тогда и только тогда, когда wiphy-устройство находится в мировом роуминге.
Не виден Wi-Fi интерфейс в системе
Беспроводной интерфейс виден, но его невозможно использовать
Проверьте, не заблокированы ли беспроводные интерфейсы:
Если они заблокированы, то включите их командой:
Устройство иногда исчезает или странно отображается в системе
Если ничего из этого не помогло, то причина может быть в аппаратной проблеме. Особенно если иногда устройство показывается нормально, а иногда пропадает или отображается неправильно — вероятно, неисправно само устройство или плохой контакт.
Не удаётся подключиться к Точке Доступа
Если других проблем не выявлено, но не удаётся подключиться к ТД, то попробуйте подключиться к другой ТД. Если у вас только один роутер, то запустите на мобильном телефоне ТД и подключитесь к ней.
Если подключение удастся, значит какая-то проблема в несовместимости Wi-Fi протоколов. Попробуйте не использовать или наоборот принудительно использовать некоторые стандарты (N, AC). Попробуйте принудительно выбрать другой канал или установить автоматический выбор каналов. Ещё раз внимательно проверьте пароли.
Удалось подключиться к ТД, но Интернета нет
С помощью команды вы сможете посмотреть, действительно ли выполнено подключение (ищите строку, которая начинается на «ssid»):
Проверьте, присвоен ли интерфейсу IP адрес:
Определите IP адрес роутера:
И выполните пинг роутера, например, адрес моего роутера 192.168.0.1, тогда команда:
Если роутер не пингуется, значит проблема в подключении до него — например, слишком слабый сигнал до ТД или не настроен IP адрес (служба DHCP не запущена).
Если есть подключение к роутеру, то попробуйте выполнить пинг публичного IP:
Если пинг не удался (но сам роутер пингуется), значит проблема с подключением роутера к внешней (WAN) сети. Заходите в настройки роутера и разбирайтесь там.
Попробуйте выполнить трассировку пути — если трассировка обрывается за пределами роутера, то это может означать, что проблемы у вашего Интернет-провайдера или у вышестоящего провайдера.
Если пинг роутера удался, то попробуйте пинг хоста по имени хоста:
Если пинг по имени хоста не удался, значит проблелма в настройке DNS сервера. Эти настройки могут быть как на уровне системы (например, неправильные настройки в NetworkManager), так и в роутере.
Чтобы увидеть, какой DNS сервер используется, выполните команду:
Не получается перевести в режим монитора Wi-Fi адаптер в Windows Subsystem for Linux (WSL) / Cygwin / Docker
В Windows Subsystem for Linux (WSL), а также в Cygwin и Docker нет прямого доступа к железу. У вас не получится использовать Wi-Fi адаптер (а также видео карту и прочее) в данных программных продуктах.
Если вы пользователь Windows, то для вас оптимальный вариант: установить Kali Linux или Arch Linux (BlackArch) в VirtualBox и подключить к этой виртуальной машине USB Wi-Fi адаптер.
Если у вас только PCI (встроенный) Wi-Fi адаптер, то установите Linux на внешний USB диск или на флешку и загрузитесь с него.
В Ubuntu ошибки и предложение отправить отчёты при переводе беспроводной карты в режим монитора
Выберите любой другой дистрибутив — Kali Linux, Debian, Arch Linux, BlackArch или даже Linux Mint — там всё работает нормально.
Вопросы и ответы по Wi-Fi в Linux
Почему меняется MAC адрес, даже если не используется программа для этого
Многие современные дистрибутивы настроены постоянно менять MAC адрес. Подробности об этом, а также как отключить или наоборот включить эту функцию смотрите в статье «Как поменять MAC-адрес в Linux, как включить и отключить автоматическую смену (спуфинг) MAC в Linux».
Как узнать, будет ли поддерживаться Wi-Fi карта для аудита Wi-Fi сетей
Если вы хотите определить, поддерживает режим монитора и беспроводные инъекции другой адаптер, не включённый в список, то изучите «Как определить, какой Wi-Fi адаптер подойдёт для Kali Linux».
Современные Wi-Fi карты для беспроводного аудита
Двухдиапазонные беспроводные адаптеры с поддержкой режима монитора и беспроводными инъекциями, а также с поддержкой стандарта AC:
Любой из этих адаптеров будет актуален ещё много лет.
Как увидеть, что происходит с беспроводными интерфейсами
Следующие команды помогут вам увидеть абсолютно всё, что происходит за сценой во время, например, неудачных подключений.
Вы можете использовать вывод следующих команд для решения любых проблем с Wi-Fi.
Следующая команда в реальном времени будет показывать всё, что происходит в вашей системе — например, при подключении беспроводного адаптера, она покажет, какой драйвер загружен или какие проблемы возникли. Также будут выведены сообщения от приложений:
Вывод программы весьма обширен, но его изучение может подсказать причины проблемы. Смотрите также «Как использовать journalctl для просмотра системных логов Linux».
Следующая команда расскажет о всё, что происходит на уровне межсетевого протокола — как IP адреса присваиваются интерфейсам и какие маршруты прописываются в системе:
А эта команда покажет все события, связанные с беспроводными сетевыми интерфейсами:
Эти три команды — важнейший источник информации для разрешения неочевидных проблем. Изучайте их вывод или предоставьте вывод этих команд если вы пытаетесь совместно разрешить вашу проблему с Wi-Fi.
Как увидеть события, происходящие в NetworkManager и wpa_supplicant
Чтобы увидеть, что происходит в NetworkManager в реальном времени:
Чтобы увидеть события из wpa_supplicant:
Как узнать, сколько трафика было передано
Почему в Wi-Fi на 5 ГГц недоступны каналы между 64 и 100
можно посмотреть, какие частоты поддерживает ваша Wi-Fi карта.
Набор каналов чуть различается, но в любом случае частоты в диапазоне каналов 64-100 полностью недоступны. То есть они даже не отключены, а как бы просто не существуют.
Возможно вам тоже любопытно, почему существует разрыв между каналом 64 и 100 в Wi-Fi 5 ГГц?
В диапазоне 5,35–5,46 ГГц перечислены различные применения, включая «Воздушную радионавигацию». Здесь будут каналы с 68 по 96. Очевидно, они не хотят, чтобы оборудование с поддержкой Wi-Fi было включено даже случайно, что может помешать навигации самолёта.
Эти каналы используются совместно с метеорологическим радаром. Маршрутизатор, использующий эти каналы, должен проверить наличие метеорологического радара. Если обнаружен метеорологический радар, маршрутизатор должен переключиться на другой канал, на котором нет метеорологического радара. Я не помню, как быстро маршрутизатор должен прекратить использовать канал. Это может быть 10 минут.
Если маршрутизатор переключает каналы WiFi, клиенты обычно не переключаются. Все, что было подключено, теряет связь. Я думаю, что контроллер может переключить клиентов на новый канал до того, как старый отключится, но опять же я не уверен.
Это может быть корпоративное оборудование. Потребители не могут себе этого позволить.
Отсутствие упоминания канала в списке поддерживаемых частот, а также следующая запись означают, что ваше Wi-Fi устройство не способно работать на этом канале:
Вы также можете увидеть записи с «no IR»:
Флаг no-ir (no-initiating-radiation) переводится как «отсутствие инициирующего излучения», то есть канал в принципе может использоваться, но не может первым отправить никакие данные, то есть он будет задействован только если получит от роутера beacon (маяки) на этих частотах.
Также можно увидеть записи с «no IR, radar detection»:
С no IR мы уже разобрались, а «radar detection» видимо означает, что если обнаружен радар на смежных частотах, то эта частота также перестаёт использоваться — но это скорее догадка, если вы знаете более верный ответ, то напишите его в комментариях.
Можно ли использовать для взлома Wi-Fi старые адаптеры поддерживающие только B и G стандарты
Да, такие адаптеры способны выполнять практически все атаки даже на ТД работающие на стандарте N. Подробности смотрите в статье «Для каких атак подходят старые Wi-Fi адаптеры».
Драйверы
Драйверы Wi-Fi в Linux. Поддержка Wi-Fi адаптеров в Linux
В настоящее время Linux поддерживает большинство Wi-Fi карт и драйверы для них уже предустановлены в системе (они являются частью ядра). То есть при покупке нового Wi-Fi адаптера или установке Linux на ноутбук в подавляющем большинстве случаев не требуется никаких действий — Wi-Fi адаптер будет просто работать.
В редких случаях понадобится установить из стандартных репозиториев драйвер и/или прошивку.
В исключительных случаях нужно компилировать драйвер из исходного кода.
Если вы знакомы со статьёй «Модули ядра Linux», то вы знаете, что многим устройствам для правильной работы нужны две вещи: драйвер и прошивка. Драйвер запрашивает прошивку из файловой системы в /lib/firmware. Это специальный файл, необходимый для аппаратного обеспечения, это не бинарный файл. Затем дайвер делает все, что нужно для загрузки прошивки в устройство. Прошивка выполняет программирование оборудования внутри устройства.
Список установленных драйверов вы найдёте в папке
Вывод драйверов по производителям:
Если по каким-либо причинам драйвер ещё не попал в ядро, то он может присутствовать в стандартных репозиториях в виде отдельных пакетов:
Также вы найдёте в стандартных репозиториях пакеты прошивок firmware-* (например, firmware-realtek, firmware-atheros, firmware-iwlwifi и так далее). Если прошивка для вашего устройства не установлена, установите её.
В Arch Linux (BlackArch) все прошивки собраны в один пакет linux-firmware. Для некоторых устройств имеются отдельные пакеты драйверов (например, r8168 и broadcom-wl).
Итак, драйверы для большинства Wi-Fi адаптеров встроены в ядро и, следовательно, уже установлены на любом Linux. Начните с того, что подсоедините вашу беспроводную карту и попробуйте выполнить подключение к Точке Доступа.
Если возникли проблемы, поищите в репозиториях драйвер и/или прошивку для вашего устройства.
Как проверить, какой драйвер используется