Wireless tools for Linux

Wireless tools for Linux — набор пользовательских утилит, разработанных для операционных систем на базе ядра Linux, предназначенных для поддержки и облегчения настройки драйверов устройств беспроводных сетевых интерфейсов и некоторых связанных аспектов работы с сетью с использованием расширения Linux Wireless Extension. Wireless tools for Linux и Linux Wireless Extension поддерживаются Жаном Туррилльесом[1] при спонсорстве Hewlett-Packard.

Общие сведения
Wireless tools for Linux
Тип сетевые утилиты
Разработчик Жан Туррилльес
Операционная система Linux
Последняя версия 29 (17 сентября 2007)
Лицензия GNU GPL
Сайт hewlettpackard.github.io/…

Использование

Wireless tools for Linux включён в большинство дистрибутивов операционных систем, построенных на базе ядра Linux. Во многих дистрибутивах этот пакет устанавливается по умолчанию или если обнаружена беспроводная сетевая карта. Если пакет не устанавливается автоматически, его обычно легко найти в виде готовых бинарных файлов.

Графические оболочки

Из-за относительной сложности вызова нескольких отдельных команд для выполнения одной задачи (например, iwlist и iwconfig для поиска и подключения к точке доступа Wi-Fi), некоторые специалисты[2] рекомендуют использовать графические оболочки для управления беспроводными соединениями, предоставляемые окружениями GNOME и KDE, либо отдельные приложения, такие как NetGo.

Альтернативы

Авторы ядра Linux считают пакет Wireless tools устаревшим[3]; ему на смену пришла более современная утилита iw[4][5]. Особенно вывод iw dev wlan0 scan предоставляет больше подробной информации по сравнению с iwlist scan[6].

Современные альтернативы классическим инструментам управления беспроводными сетями в Linux (таким как wireless-tools, wpa_supplicant, hostapd) играют ключевую роль в переходе к более производительным, безопасным и простым в настройке технологиям, поддерживающим актуальные стандарты Wi-Fi 6/7.

Основная роль современных альтернатив (iw, iwd, wpad) заключается в отказе от устаревших механизмов (Wireless Extensions), обеспечении быстрой работы с современным ядром Linux (nl80211) и интеграции с системными менеджерами (systemd, NetworkManager).

1. iw вместо wireless-tools (iwconfig)

iw — это утилита нового поколения, основанная на интерфейсе nl80211, которая заменила устаревшие wireless-tools (iwconfig, iwlist).

  • Роль: Низкоуровневая настройка Wi-Fi адаптеров (сканирование, управление режимами работы, частотами, мощностью передатчика).
  • Преимущество: Поддерживает все новые функции ядра Linux и драйверов. Вывод iw более детализирован, чем у iwconfig, что помогает при отладке.

2. iwd (iNet Wireless Daemon) вместо wpa_supplicant

iwd, разработанный Intel, стремится стать полноценной заменой wpa_supplicant для роли клиента (подключение к Wi-Fi).

  • Роль: Упрощение управления беспроводной сетью и повышение безопасности.
  • Преимущества:
    • Производительность: Быстрее обнаруживает сети и быстрее подключается.
    • Архитектура: Не требует OpenSSL/GnuTLS, используя для шифрования встроенные функции ядра, что делает его более безопасным.
    • Интеграция: Автономно управляет сканированием и роумингом, что позволяет легко интегрироваться с NetworkManager.

3. wpad (Wireless Protocol Application Daemon) — современный hostapd/wpa_supplicant

В средах с ограниченными ресурсами (например, OpenWrt) вместо разделения на wpa_supplicant (клиент) и hostapd (точка доступа) используется единый пакет wpad.

  • Роль: Объединяет функционал обоих демонов для обеспечения работы 802.1X, WPA2, WPA3 и EAP как для роли клиента, так и для точки доступа в одном процессе.
  • Преимущество: Снижение потребления оперативной памяти и упрощение конфигурации.

4. Встроенные средства (Systemd-networkd + IWD)

В современных дистрибутивах (особенно использующих systemd) происходит отказ от сложных конфигов.

  • Роль: iwd используется для управления радиомодулем, а systemd-networkd — для настройки IP-адресов, заменяя собой старые связки, такие как wpa_supplicant + dhcpcd + ifupdown.

Современные инструменты (iw, iwd) делают беспроводную связь в Linux надежнее, быстрее и безопаснее, лучше интегрируясь в современные системные менеджеры.

Утилиты пакета

ifrename

ifrename позволяет переименовывать беспроводные сетевые интерфейсы по различным статическим критериям, чтобы каждому интерфейсу было присвоено постоянное имя.

По умолчанию имена интерфейсов динамические, и каждой сетевой карте присваивается первое доступное имя (eth0, eth1 и т. д.), при этом порядок создания интерфейсов может различаться. ifrename позволяет пользователю самостоятельно назначить имя сетевого интерфейса. Для этого могут использоваться различные параметры идентификации, наиболее часто — MAC-адрес интерфейса.

ifrename должен запускаться до активации интерфейсов, поэтому в основном используется в различных скриптах (init, hotplug) и редко применяется непосредственно самим пользователем. По умолчанию переименование происходит на все найденные интерфейсы согласно сопоставлению, определённому в файле /etc/iftab.

iwconfig

iwconfig позволяет просматривать и изменять параметры сетевых интерфейсов, специфичных для работы по беспроводной связи (например, имя интерфейса, частота, SSID). Также с помощью iwconfig можно выводить статистику беспроводного соединения (извлекается из /proc/net/wireless).

В свободных операционных системах семейства BSD роль iwconfig выполняет расширенная команда ifconfig.

Пример вывода iwconfig

Следующая команда отображает параметры текущей беспроводной сети:

 $ iwconfig eth1

 eth1     IEEE 802.11g  ESSID:"OSU_PUB" 
          Mode:Managed  Frequency:2.427 GHz  Access Point: 00:0D:9D:C6:38:2D   
          Bit Rate=48 Mb/s   Tx-Power=20 dBm   Sensitivity=8/0  
          Retry limit:7   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=91/100  Signal level=-39 dBm  Noise level=-87 dBm
          Rx invalid nwid:0  Rx invalid crypt:860  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:39   Missed beacon:8

iwevent

iwevent отображает события беспроводной сети, возникающие при изменениях драйвера и конфигурации, которые приходят через сокет RTNetlink. Каждая строка отображает соответствующее событие и описывает, что произошло с указанным беспроводным интерфейсом. Данная утилита не принимает аргументов.

iwgetid

iwgetid сообщает ESSID, NWID или адрес точки доступа/ячейки беспроводной сети, к которой подключено устройство. По умолчанию выводится ESSID, если его нет — выводится NWID. Информация аналогична выводимой iwconfig, однако iwgetid проще встроить в различные сценарии.

iwlist

iwlist используется для сканирования доступных беспроводных сетей и вывода дополнительной информации о них, не отображаемой iwconfig. Основной аргумент определяет, какую категорию информации выводить; утилита предоставляет подробные сведения, включая те, которые уже показывает iwconfig.

Основное назначение команды — формирование списка ближайших точек доступа и их MAC-адресов и SSID.

Пример вывода iwlist

Пример вывода команды сканирования ближайших точек доступа:

 $ iwlist eth1 scan

 eth1     Scan completed :
          Cell 01 - Address: 00:12:17:46:E6:AF
                    ESSID:"prettyflyforawifi§"
                    Protocol:IEEE 802.11bg
                    Mode:Master
                    Channel:1
                    Encryption key:off
                    Bit Rate:1 Mb/s
                    Bit Rate:2 Mb/s
                    Bit Rate:5.5 Mb/s
                    Bit Rate:6 Mb/s
                    Bit Rate:9 Mb/s
                    Bit Rate:11 Mb/s
                    Bit Rate:12 Mb/s
                    Bit Rate:18 Mb/s
                    Bit Rate:24 Mb/s
                    Bit Rate:36 Mb/s
                    Bit Rate:48 Mb/s
                    Bit Rate:54 Mb/s
                    Quality=82/100  Signal level=-48 dBm  
                    Extra: Last beacon: 36ms ago

Этот вывод содержит информацию только об одной найденной точке доступа. Полезные данные включают ESSID, тип сети и качество сигнала.

iwpriv

iwpriv используется для настройки и управления параметрами расширения Wireless Extension, специфичными для каждого драйвера (в отличие от iwconfig, который работает с универсальными параметрами).

Без указания аргументов iwpriv выводит список доступных приватных команд на каждом интерфейсе и их параметры. Используя эту информацию, пользователь может применять специфические для интерфейса команды.

iwspy

iwspy предназначен для мониторинга набора узлов и отслеживания качества связи с каждым из них.

Измеряемые параметры аналогичны тем, что доступны через /proc/net/wireless: качество канала, уровень сигнала и уровень шума. Данные обновляются при каждом полученном пакете, поэтому наличие адреса в списке увеличивает нагрузку на драйвер. Обратите внимание, эта функция работает только для узлов текущей беспроводной ячейки, нельзя отслеживать точки доступа, с которыми не установлено соединение (для этого используйте сканирование), или узлы в других ячейках. В режиме Managed обычно пакеты проходят через точку доступа, и в этом случае измеряется уровень сигнала именно точки. По этим причинам iwspy наиболее полезна в ad hoc- и master-режимах.

wpa_supplicant/hostapd

wpa_supplicant и hostapd представляют собой парные клиент и хост для организации беспроводных точек доступа.

hostapd позволяет создавать точки доступа из командной строки, обеспечивая возможность раздачи интернет-соединения по Wi-Fi. wpa_supplicant применяется для поиска и подключения к точкам доступа в режиме клиента для доступа в Интернет.

Примечания

  1. Wireless Tools for Linux (англ.). hpl.hp.com. Hewlett-Packard. Дата обращения: 29 июня 2024. Архивировано 16 октября 2012 года.
  2. Marcel Gagne. Cooking With Linux: Living La Vida Linux (англ.), Linux Journal (28 July 2005). Архивировано 28 августа 2005 года. Дата обращения: 29 июня 2024.
  3. Wireless network configuration (англ.). Arch Linux Wiki. Дата обращения: 29 июня 2024. Архивировано 11 февраля 2023 года.
  4. iw utility home page (англ.). wireless.wiki.kernel.org. Дата обращения: 29 июня 2024. Архивировано 7 апреля 2024 года.
  5. Replacing iwconfig with iw (англ.). wireless.wiki.kernel.org. Дата обращения: 29 июня 2024. Архивировано 7 апреля 2024 года.
  6. How to manage WiFi connection from command line in Linux (англ.). Xmodulo (10 июля 2014). Дата обращения: 29 июня 2024. Архивировано 15 октября 2014 года.

Ссылки