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 применяется для поиска и подключения к точкам доступа в режиме клиента для доступа в Интернет.
Примечания
- ↑ Wireless Tools for Linux (англ.). hpl.hp.com. Hewlett-Packard. Дата обращения: 29 июня 2024. Архивировано 16 октября 2012 года.
- ↑ Marcel Gagne. Cooking With Linux: Living La Vida Linux (англ.), Linux Journal (28 July 2005). Архивировано 28 августа 2005 года. Дата обращения: 29 июня 2024.
- ↑ Wireless network configuration (англ.). Arch Linux Wiki. Дата обращения: 29 июня 2024. Архивировано 11 февраля 2023 года.
- ↑ iw utility home page (англ.). wireless.wiki.kernel.org. Дата обращения: 29 июня 2024. Архивировано 7 апреля 2024 года.
- ↑ Replacing iwconfig with iw (англ.). wireless.wiki.kernel.org. Дата обращения: 29 июня 2024. Архивировано 7 апреля 2024 года.
- ↑ How to manage WiFi connection from command line in Linux (англ.). Xmodulo (10 июля 2014). Дата обращения: 29 июня 2024. Архивировано 15 октября 2014 года.
Ссылки
- Wireless Tools for Linux homepage (англ.). hpl.hp.com. Hewlett-Packard. Дата обращения: 29 июня 2024. Архивировано 16 октября 2012 года.
- RPM find for wireless-tools (англ.). rpmfind.net. Дата обращения: 29 июня 2024. Архивировано 10 июня 2023 года.
- ifrename
- iwconfig
- iwevent
- iwgetid
- iwlist
- iwpriv
- iwspy
- iw