- Ubuntu Documentation
- Scan for wifi Network
- Introduction
- Find Network Interface Card
- Release network connections
- Setup Network Interface Card
- Acquire Network Address
- Compatible Chipsets
- Как проверить информацию о беспроводной сетевой карте и WiFi из командной строки Linux
- В Linux доступны следующие утилиты для проверки информации о беспроводной сетевой карте
- Проверьте имя беспроводной сетевой карты с помощью команды lspci
- Проверьте имя беспроводного интерфейса с помощью команды ip
- Проверьте информацию о точке беспроводного доступа с помощью команды nmcli
- Проверьте информацию о драйвере и прошивке беспроводного интерфейса с помощью команды ethtool
- Проверьте информацию о силе сигнала WiFi, скорости передачи данных и качестве канала связи с помощью команды iwconfig
- Проверьте подробную информацию о беспроводном интерфейсе с помощью команды iwlist
- Проверьте информацию о беспроводном интерфейсе с помощью файла procfs
- Проверьте информацию о беспроводном интерфейсе и точке доступа с помощью wavemon
- Проверьте информацию Wifi с помощью команды GNOME NetworkManager
- Linux WiFi из командной строки с wpa_supplicant
- Общие сведения о wpa_supplicant
- Установка
- Подключение без конфиг файла
- Подключение к Ad-Hoc сети
- Настройка для домашней сети
- Настройка 802.1X для офиса
- Привязка wpa_supplicant к сетевой карте
- Отладка
Ubuntu Documentation
Scan for wifi Network
Introduction
Scan for and Connect to a Wireless Network from the Command Line
There are a multitude of fine, graphical wireless network configuration programs available to the Ubuntu community. However, there may come a day when you need to acquire a wireless connection from an unknown network on a strange network card from the recovery console. Or perhaps you just want to know how to connect to your home network from the command line. Either way, this HOWTO is for you.
This guide assumes that the drivers for your network card are properly set up. Otherwise, it would be too complicated to cover all vendors and chipsets.
Find Network Interface Card
Figure out the name of the interface for your wireless card
The interface name of cards for different vendors may be different, which is why this step is needed:
This will list the interface names for all NICs on your computer. It will probably include eth0 (hardwired NIC), lo (loopback interface for the localhost), and something for your wireless card (like wifi0, or wlan0).
For these steps let’s call whatever name you find for your wireless NIC [wifi interface].
If you have multiple wireless cards, all of them will be listed. To be sure that the interface that you select is a wireless interface, you can check that its directory contains a «wireless» folder:
Release network connections
Just to be sure it’s not being used, bring your interface down, release your DHCP connection and then put it back up:
Many of these commands require superuser priviledges (i.e. root access), so the sudo command precedes them. Of course, you could always use «sudo -s» or some other method to login to a shell as the root account, but why complicate matters?
Scan for open networks
Note: In tests this command only worked with Atheros cards.
This should return results that look something like this:
The ESSID, Frequency and Address are the most important labels here (quality may also factor into your decision, too. higher is better).
Setup Network Interface Card
Set the wireless NIC so that it will connect to the found wireless network:
Note the «G» after the frequency, to denote «GHz».
Acquire Network Address
Acquire a DHCP address from your wireless router:
Okay. assuming that your DHCP address was acquired properly, you should have a internet connection all set up. Now, this is probably too complicated of a process to do by hand, but there are a number of ways to automate it. That’s outside the scope of this tutorial!
Compatible Chipsets
It has become apparent that not all wireless interface cards work with the scan command. Can you add your results to the table below.
Command to find the manufacture and model of your pci card is:
Источник
Как проверить информацию о беспроводной сетевой карте и WiFi из командной строки Linux
Я использовал ОС Manjaro 18.0 в своем основном ноутбуке для повседневных целей, и большую часть времени я использую CLI для большей части своей деятельности, поэтому я хотел бы проверить детали Wi-Fi через командную строку.
Я сделал небольшой поиск в Google и нашел несколько статей об этом.
Теперь я собираюсь написать подробную статью об этом, чтобы помочь другим.
Для этого вы должны сначала определить имя интерфейса.
Как только вы нашли имя интерфейса, вы можете использовать одну из приведенных ниже утилит для получения подробной информации о нем.
Большая часть утилиты позволяет отслеживать и просматривать уровни шума беспроводных сетей, скорость передачи данных, качество сигнала, уровень сигнала, статистику пакетов, конфигурацию устройства и параметры сети и т. д.
В Linux доступны следующие утилиты для проверки информации о беспроводной сетевой карте
- lspci: lspci – это утилита для отображения информации о шинах PCI в системе и подключенных к ней устройствах.
- IP: он показывает / манипулирует информацией о маршрутизации, сетевых устройствах, интерфейсах и туннелях.
- nmcli: nmcli – это инструмент командной строки для управления NetworkManager и создания отчетов о состоянии сети.
- ethtool: ethtool используется для запроса и управления драйверами сетевых устройств и настройками оборудования, особенно для проводных Ethernet-устройств.
- iwconfig: Iwconfig похож на ifconfig, но предназначен для беспроводных интерфейсов.
- iwlist: Iwlist используется для отображения некоторой дополнительной информации из интерфейса беспроводной сети, которая не отображается iwconfig.
- procfs: файловая система proc (procfs) – это специальная файловая система в Unix-подобных операционных системах, которая представляет информацию о процессах и другую системную информацию.
- wavemon: wavemon – это приложение мониторинга на основе ncurses для беспроводных сетевых устройств.
- GNOME NetworkManager: демон GNOME NetworkManager пытается настроить сеть для сетевых интерфейсов, таких как Ethernet, WiFi и мобильные широкополосные устройства.
Проверьте имя беспроводной сетевой карты с помощью команды lspci
lspci – это утилита для отображения информации о шинах PCI в системе и подключенных к ней устройствах.
По умолчанию отображается краткий список устройств.
Используйте параметры, описанные ниже, чтобы запросить более подробный вывод или вывод, предназначенный для анализа другими программами.
Выполните следующую команду, чтобы определить имя вашей беспроводной сетевой карты.
Используйте следующую команду, чтобы получить более подробную информацию о беспроводной карте.
Проверьте имя беспроводного интерфейса с помощью команды ip
Он показывает / манипулирует информацией о маршрутизации, сетевых устройствах, интерфейсах и туннелях.
Выполните следующую команду, чтобы проверить, активен ли интерфейс беспроводной сети. Да, это активно и работает нормально.
Обратите внимание, имя беспроводного интерфейса начинается с w, а проводной интерфейс начинается с e.
Проверьте информацию о точке беспроводного доступа с помощью команды nmcli
nmcli – это инструмент командной строки для управления NetworkManager и создания отчетов о состоянии сети.
Его можно использовать в качестве замены для nm-апплета или других графических клиентов. nmcli используется для создания, отображения, редактирования, удаления, активации и деактивации сетевых подключений, а также для контроля и отображения состояния сетевых устройств.
Запустите следующую команду, чтобы просмотреть доступные точки доступа Wi-Fi для вас.
Он покажет, какой Wi-Fi в данный момент подключен к вашей системе, а также покажет, какой беспроводной интерфейс подключен к нему.
Для просмотра скорости точки доступа, уровня сигнала и информации о безопасности.
Выполните следующую команду, чтобы увидеть подробную информацию о точке доступа «2g» Wi-Fi.
Выполните следующую команду, чтобы просмотреть сведения об интерфейсе wifi «wlp8s0».
Проверьте информацию о драйвере и прошивке беспроводного интерфейса с помощью команды ethtool
ethtool используется для запроса и управления драйверами сетевых устройств и настройками оборудования, особенно для проводных Ethernet-устройств.
Выполните следующие команды, чтобы узнать о драйвере ядра Wi-Fi, версии прошивки и информации о шине.
Проверьте информацию о силе сигнала WiFi, скорости передачи данных и качестве канала связи с помощью команды iwconfig
Iwconfig похож на ifconfig, но предназначен для беспроводных интерфейсов.
Он используется для установки параметров сетевого интерфейса, которые являются специфическими для беспроводной работы.
Iwconfig также может использоваться для отображения этих параметров и статистики беспроводной связи (извлекается из /proc/net/wireless).
Все эти параметры и статистика зависят от устройства.
Каждый драйвер предоставит только некоторые из них в зависимости от аппаратной поддержки, и диапазон значений может измениться.
Пожалуйста, обратитесь к справочной странице каждого устройства для деталей.
Проверьте подробную информацию о беспроводном интерфейсе с помощью команды iwlist
Iwlist используется для отображения некоторой дополнительной информации из интерфейса беспроводной сети, которая не отображается iwconfig.
Проверьте информацию о беспроводном интерфейсе с помощью файла procfs
Файловая система proc (procfs) – это специальная файловая система в Unix-подобных операционных системах, которая представляет информацию о процессах и другую системную информацию.
Проверьте информацию о беспроводном интерфейсе и точке доступа с помощью wavemon
wavemon – это приложение мониторинга на основе ncurses для беспроводных сетевых устройств.
Он отображает уровни в режиме реального времени, а также показывает информацию об устройствах и беспроводных сетях.
Интерфейс wavemon разбивается на разные «экраны».
Каждый экран представляет информацию определенным образом.
Например, экран «информация» отображает текущие уровни в виде гистограмм, тогда как экран «уровень» представляет те же уровни, что и движущаяся гистограмма.
Этот экран позволяет изменить все параметры программы, такие как параметры интерфейса и шкалы уровня, а также сохранить новые настройки в файле конфигурации.
Это полноэкранный график гистограммы, показывающий эволюцию уровней со временем.
Проверьте информацию Wifi с помощью команды GNOME NetworkManager
Демон NetworkManager пытается сделать сетевую конфигурацию и работу максимально безболезненными и автоматическими, управляя основным сетевым подключением и другими сетевыми интерфейсами, такими как Ethernet, WiFi и мобильные широкополосные устройства.
NetworkManager подключит любое сетевое устройство, когда соединение для этого устройства станет доступным, если только это поведение не отключено.
Информация о сети экспортируется через интерфейс D-Bus в любое заинтересованное приложение, предоставляя богатый API для проверки и контроля сетевых настроек и работы.
Источник
Linux WiFi из командной строки с wpa_supplicant
В этой статье я расскажу, как можно настроить WiFi с помощью wpa_supplicant, без всяких Xorg/X11 утилит. Это необходимо для того, чтобы базовые службы ОС исправно работали с минимальным набором технических средств удаленного доступа. Программа будет исполняться как служба, настройки сделаны правкой конфиг файлов.
По-быстрому, установить соединение с открытой точкой доступа можно таким образом.
Если же надо всерьез и надолго, то прошу внутрь.
Общие сведения о wpa_supplicant
Что из себя представляет wpa_supplicant?
- Кросс-платформенная открытая реализация стандарта IEEE 802.11 для Linux, *BSD, Windows, Mac OS X и прочих систем.
- Полная поддержка WPA2, WPA и более старых протоколов безопасности беспроводной LAN сети.
- Приложение пользовательского пространства, выполняющее функции саппликанта и SME оператора, исполняющего MLME инструкции.
- WPA и полностью IEEE 802.11i/RSN/WPA2.
- WPA-PSK и WPA2-PSK (pre-shared key) («WPA-Personal»).
- WPA вместе с EAP (т.е., сервером аутентификации RADIUS) («WPA-Enterprise») управление ключами CCMP, TKIP, WEP (104/128 и 40/64 бит).
- Кэширование RSN, PMKSA: предварительную аутентификацию.
Как wpa_supplicant устанавливает связь с точкой доступа?
- Cетевой интерфейс должен исправно функционировать с установленным драйвером, прежде чем wpa_supplicant запустится.
- Wpa_supplicant запрашивает драйвер ядра сканировать доступные Basic Service Set (BSS).
- Wpa_supplicant производит выбор BSS в соответствии с настройками.
- Wpa_supplicant запрашивает драйвер ядра установить соединение с выбранной BSS.
- Для WPA-EAP: аутентификацию EAP производит встроенный IEEE 802.1X Supplicant, либо же внешний Xsupplicant с сервером аутентификации.
- Для WPA-EAP: получен мастер-ключ от IEEE 802.1X Supplicant.
- Для WPA-PSK wpa_supplicant использует пароль PSK в качестве мастер-ключа сессии.
- Wpa_supplicant производит с аутентификатором точки доступа 4-х этапное согласование [1] и групповое согласование ключей.
- Wpa_supplicant производит шифрование однонаправленных и широковещательных пакетов [2] , после чего начинается обычный обмен данными.
Главный и большой плюс wpa_supplicant — его юниксвейность, то есть соответствие принципу Unix Way, когда программа делает что-то одно, но делает это хорошо. В каком-то смысле wpa_supplicant также Gentoo Way. Она требует некоторого внимания и терпения вначале, но затем о ней можно напрочь забыть. После того как программа настроена и пущена в дело, она полностью выпадает из потока событий, превращаясь в пару строк из ps -ef . Она не сверкает и не мигает в системном трее, не оповещает о разведанных, подключенных и отключенных беспроводных сетях. Ее просто нет, пока вы сами ее не поищите.
Из минусов — сложность настройки и конфигурации. Много возни по сравнению с тырк-тырк-тырк в окне Network Manager , не говоря уже о WiFi подключении с любого Андроид устройства. Если вы собираетесь в поездку с Linux ноутбуком, то наверняка предпочтете более дружественный фронтенд настройки беспроводной сети, чтобы быстро подключаться к бесплатным точкам доступа WiFi в аэропорту, гостинице или в рабочей обстановке. Для домашнего же беспроводного интернета — самое то.
Установка
Если не выбирать графический фронтенд, то программа почти не тянет за собой никаких зависимостей. Для Gentoo Linux сгодится установка с выставленными флагами как показано.
- emerge -av wpa_supplicant #Gentoo
- aptitude install wpasupplicant #Debian
- yum install wpa_supplicant #Redhat
- pacman -S wpa_supplicant #Arch
Подключение без конфиг файла
Если вам нужно подключиться только один раз, то необходимости создавать файл конфигурации и вникать во все тонкости настройки, нет. Достаточно набрать несколько инструкций из командной строки.
Пример для открытой сети был показан в самом начале. Для закрытой WPA сети быстрое подключение выгладит так:
В начале надо запустить саму программу wpa_supplicant и сопутствующую wpa_cli .
Затем настройка из интерактивного интерфейса wpa_cli .
Для закрытой WPA2 сети:
В конце необходимо вручную запустить демон DHCP.
Подключение к Ad-Hoc сети
Никогда с такой не сталкивался, но готовым нужно быть ко всему. Подключение к открытой ad-hoc.
То же самое с помощью iw .
Настройка для домашней сети
Теперь самое интересное — настройка. Этот процесс задокументирован для Arch Wiki, Debian Wiki и Gentoo Wiki, но всех деталей там естественно нет.
Программа обычно ставится в директорию /etc/wpa_supplicant/ , и наша задача — правильно настроить конфигурационный файл wpa_supplicant.conf , и привязать его к автозапуску беспроводного сетевого интерфейса.
Начнем с wpa_supplicant.conf . Если вы подключаетесь из дома к WPA/WPA2, то скорее всего используете пароль для WiFi соединения, что соответствует режиму WPA-PSK («WPA-Personal») . Мы не будет рассматривать варианты с WEP шифрованием, так как оно ненамного лучше открытой сети.
Возьмем типовой конфиг из документации. Например такой.
Первая строка необходима, без ctrl_interface программа даже не запустится. GROUP=wheel нужно для того, чтобы запускать из под обычного пользователя в графическом интерфейсе wpa_gui, но это не наш путь. Поэтому меняем на рутовый GROUP=0 .
Каждой сети в файле настроек должен соответствовать блок network <> . Покопавшись в исходниках, обнаружил нашел годное писание переменной ap_scan в файле config.h , а в мануале и руководстве пользователя ее описание очень скудное.
ap_scan — AP scanning/selection
By default, wpa_supplicant requests driver to perform AP scanning and then uses the scan results to select a suitable AP. Another alternative is to allow the driver to take care of AP scanning and selection and use wpa_supplicant just to process EAPOL frames based on IEEE 802.11 association information from the driver.
1: wpa_supplicant initiates scanning and AP selection (default).
0: Driver takes care of scanning, AP selection, and IEEE 802.11 association parameters (e.g., WPA IE generation); this mode can also be used with non-WPA drivers when using IEEE 802.1X mode;
do not try to associate with APs (i.e., external program needs to control association). This mode must also be used when using wired Ethernet drivers.
2: like 0, but associate with APs using security policy and SSID (but not BSSID); this can be used, e.g., with ndiswrapper and NDIS drivers to enable operation with hidden SSIDs and optimized roaming;
in this mode, the network blocks in the configuration are tried one by one until the driver reports successful association; each network block should have explicit security policy (i.e., only one
option in the lists) for key_mgmt, pairwise, group, proto variables.
Note: ap_scan=2 should not be used with the nl80211 driver interface (the current Linux interface). ap_scan=1 is optimized work working with nl80211. For finding networks using hidden SSID, scan_ssid=1 in the network block can be used with nl80211.
- bssid — The Basic Service Set Identifier (BSSID), физический адрес точки доступа.
- key_mgmt — Протоколы аутентификации.
- pairwise — Для WPA2 укажите CCMP, а для WPA — TKIP.
- proto — WPA/WPA2.
- psk — Хэш пароля PreShared Key.
group: list of accepted group (broadcast/multicast) ciphers for WPA
CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0]
TKIP = Temporal Key Integrity Protocol [IEEE 802.11i/D7.0]
WEP104 = WEP (Wired Equivalent Privacy) with 104-bit key
WEP40 = WEP (Wired Equivalent Privacy) with 40-bit key [IEEE 802.11]
If not set, this defaults to: CCMP TKIP WEP104 WEP40
pairwise: list of accepted pairwise (unicast) ciphers for WPA
CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0]
TKIP = Temporal Key Integrity Protocol [IEEE 802.11i/D7.0]
NONE = Use only Group Keys (deprecated, should not be included if APs support pairwise keys)
proto: list of accepted protocols
WPA = WPA/IEEE 802.11i/D3.0
RSN = WPA2/IEEE 802.11i (also WPA2 can be used as an alias for RSN)
If not set, this defaults to: WPA RSN
key_mgmt: list of accepted authenticated key management protocols
WPA-PSK = WPA pre-shared key (this requires ‘psk’ field)
WPA-EAP = WPA using EAP authentication (this can use an external program, e.g., Xsupplicant, for IEEE 802.1X EAP Authentication
IEEE8021X = IEEE 802.1X using EAP authentication and (optionally) dynamically generated WEP keys
NONE = WPA is not used; plaintext or static WEP could be used
If not set, this defaults to: WPA-PSK WPA-EAP
Создаем хэш пароля для psk :
Все готово, чтобы создать конфиг сети. Итоговый файл должен выглядеть как-то так.
Верные значения для bssid , group , proto и pairwise можно определить, сканируя беспроводную сеть.
Команда iwlist из набора Wireless Tools устарела, вместо нее сейчас iw .
Настройка 802.1X для офиса
Стандарт IEEE 802.1X определяет более строгую модель подключения к WiFi сети. Вместо psk пароля необходимо предъявить серверный сертификат.
- ca_cert — Абсолютный путь к CA-сертификату в формате PEM или DER, необходим для возможности подтверждения сертификата сервера.
- ca_path — Абсолютный путь к директории, где хранятся файлы CA-сертификатов (в формате PEM), которые вы хотите добавить в список доверенных.
- client_cert — Абсолютный путь к клиентскому сертификату в формате PEM или DER.
- eap — Разделенный пробелами список поддерживаемых методов EAP: MD5, MSCHAPV2, OTP, GTC, TLS, PEAP, или TTLS.
- identity — Идентификации EAP, например имя пользователя.
- password — Пароль EAP.
Так может выглядеть блок, настроенный для подключения к сети в режиме WPA-Enterprise с аутентификацией 802.1X PEAP, в котором требуется ввод данных учетной записи пользователя:
А это пример блока, настроенного для подключения к сети в режиме WPA-Enterprise с аутентификацией 802.1X EAP-TLS, в котором требуются серверный и клиентский сертификаты:
Привязка wpa_supplicant к сетевой карте
Для Gentoo Linux надо добавить 2 строки в /etc/conf.d/net .
Список поддерживаемых -D драйверов. Для современных чипов и версий ядра подойдет nl80211 . На старом железе может взлететь wext .
- nl80211 — New driver.
- wext — Linux wireless extensions (generic).
- wired — wpa_supplicant wired Ethernet driver.
- roboswitch — wpa_supplicant Broadcom switch driver.
- bsd — BSD 802.11 support (Atheros, etc.).
- ndis — Windows NDIS driver.
Сетевая карта wlan0 должна быть залинкована с lo0 .
Следует также добавить wpa_supplicant в автозапуск.
Пользователи Debian добавляют запись в файл /etc/network/interfaces .
Пользователи RedHat добавляют в /etc/sysconfig/wpa_supplicant
а в файл /etc/sysconfig/network-scripts/ifcfg-wlan0
Отладка
После того как wpa_supplicant успешно подключилась к точке доступа, в dmesg можно увидеть протокол установки соединения.
Если же вместо этого вы увидите ошибку:
то скорее всего, надо использовать драйвер wext вместо nl80211 . А с ошибкой:
наоборот, вместо wext надо подставить nl80211 .
В ситуации, когда вы не можете определить ошибку, запустите wpa_supllicant напрямую с ключем -dd .
Источник