- EnismanY / linux_wifi.md
- 3 способа подключения к Wi-Fi из командной строки в Debian
- Обнаружение сетей с помощью Iwconfig
- Подключение к Wi-Fi из командной строки с помощью nmcli
- Подключение к wifi с консоли с помощью nmtui
- Подключитесь к Wi-Fi с помощью wpa_supplicant
- Configure WiFi Connections
- Establish a Wireless Connection
- Connect to a Hidden Network
- Further Information
EnismanY / linux_wifi.md
This provides details including, frequency of WiFi, BSSID, SSID, encryption (for WPA2-PSK, should see pairwise_cipher and group_cipher are CCMP ) MAC address and IP address.
There are several options for turning off WiFi, what works will be dependent on how the system is configured. Assuming the WiFi interface is wlan0 , options are:
sudo ip link set wlan0 down
- First list all devices using:
0: phy0: Wireless LAN Soft blocked: no Hard blocked: no 1: hci0: Bluetooth Soft blocked: no Hard blocked: no
Again, there are multiple options:
sudo ip link set wlan0 up
Alternatively, assuming the number of the device has been ascertained using rfkill list ( 0 in the example below) execute:
Display information about the WiFi interface
Assuming WiFi interface is wlan0 :
Finding WiFi link quality & signal level
iwconfig wlan0 | grep -i --color "Quality\|Signal"
The numbers reported for quality will be WiFi driver dependent.
Continous update of link quality
The file /proc/net/wireless contains information about the WiFi signal. This can be viewed continually using a combination of the cat and watch commands.
watch -n 1 cat /proc/net/wireless
Alternatively, the ncurses-based monitoring application wavemon can be used. This will likely need installing, which in Debian based distributions can be achieved using:
To use the application simply run:
Setting a prefered WiFi band
It is possible to set a preferred WiFi band, ie 2.5 or 5 GHz. This may be desirable to avoid interference from other devices or to improve range/speed. Remember, 2.5 GHz has the better range and 5 GHz the better speed.
First check the network interface is capable of using both bands. There are at least two methods to determine this.
sudo iwlist wlan0 scan | grep -i "Frequency\|Address\|ESSID"
THe output will be similar to:
Cell 01 - Address: ab:12:cd:34:ef:56 Frequency:2.412 GHz ESSID:"DESIRED SSID" Cell 02 - Address: gh:78:ij:90:kl:12 Frequency:5.70 GHz ESSID:"DESIRED SSID" .
iw list | grep -i "Frequencies\|MHz\|GHz"
In the output look for the section(s) entitles Frequencies, which will be similar to:
Frequencies: * 5180 MHz [36] (22.0 dBm) (no IR) * 5200 MHz [40] (22.0 dBm) (no IR) * 5220 MHz [44] (22.0 dBm) (no IR) * 5240 MHz [48] (22.0 dBm) (no IR) .
The frequencies are the centre of the band.
Both the SSID and BSSID are required, the BSSID is the MAC address for a particular band of the access point. To obtain this information, enter the wpa command line interface by running the following, where wlan0 is the name of the wireless network interface:
Once in the iteractive mode, indicated by:
run the following two commands, letting the first command complete execution (indicated by a return of the > prompt) before running the second.
The output will be similar to:
bssid / frequency / signal level / flags / ssid ab:12:cd:34:ef:56 2412 -79 [WPA2-PSK-CCMP][WPA2-PSK-CCMP][ESS] DESIRED SSID gh:78:ij:90:kl:12 5700 -84 [WPA2-PSK-CCMP][WPA2-PSK-CCMP][ESS] DESIRED SSID .
This shows the desired SSID and the frequencies, 2.5 and 5 GHz, along with their respective BSSIDs.
Quit the interactive mode by entering q .
To modify the settings
Kill network-manager and wpa_supplicant:
sudo service network-manager stop && sudo killall wpa_supplicant
On the Raspberry Pi (August 2020) networking this can be achieved using:
sudo service networking stop && sudo killall wpa_supplicant
If /etc/wpa_supplicant.conf does not exist, create the file using:
sudo wpa_passphrase > /etc/wpa_supplicant
must be replaced with the SSID of the WiFi network. A blank prompt will be received awaiting the user to enter the password for the WiFi. Once this has been done edit the file using:
sudo nano /etc/wpa_supplicant.conf
Add the following to the file.
ctrl_interface=/var/run/wpa_supplicant #settings for an AP using preshared keys, PSK network= < ssid=ssid scan_ssid=1 key_mgmt=WPA-PSK #psk==Password psk="Passkey generated by wpa_passphrase" bssid=gh:78:ij:90:kl:12 #the important part >#settings for an open AP. if you use this then don't use the above settings network=
ssid and psk will be those entered when using the wpa_passphrase command.
Delete the commented line containing the password, and ensure the bssid matches that of the access point and the desired band you wish to connect to, ie 2.5 or 5 GHz.
Now start the daemon in the background by running:
sudo wpa_supplicant -B -c /etc/wpa_supplicant/wpa_supplicant.conf -i wlan0
If this fails, debug problems by running:
sudo wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -i wlan0 -d
Unsure about the dhclient section (next two commands)
After authentication, tell dhclient to release the current lease ie IP address, it has from the server:
Request a dynamic IPv4 address (DHCP):
Finally, reconfigure the interface with:
wpa_cli -i wlan0 reconfigure
Verify whether WiFi has successfully connected and the correct band is being used by executing:
sudo wpa_cli -i wlan0 status
If the ip_address is not populated, the device has not connected to the network, check that thr password and ESSID are correct.
3 способа подключения к Wi-Fi из командной строки в Debian
Советы и хитрости
В этом руководстве кратко объясняется, как подключиться к Wi-Fi из командной строки в дистрибутивах Linux на основе Debian и Debian 3 различными способами: с помощью nmcli, nmtui и wpa_supplicant. В дополнение к nmcli, nmtui и wpa_supplicant используются команды iwconfig, iwlist и dhclient, которые кратко объясняются в этом руководстве.
Обнаружение сетей с помощью Iwconfig
Перед тем как начать, нам нужно знать essid или имя сети, к которой мы хотим подключиться.
В этом руководстве показано, как использовать команду Iwconfig для сканирования доступных сетей. Iwconfig похож на команду ifconfig, но для управления беспроводными интерфейсами. Эта команда позволяет пользователю редактировать частоту или канал, изменять режим сетевого устройства (Ad-hoc, Managed, Master, Repeater, Monitor, Secondary), устанавливать ESSID и т. Д.
ПРИМЕЧАНИЕ. SSID / ESSID — это имена или идентификаторы сети или маршрутизатора.
Чтобы проверить, правильно ли обнаружена карта Wi-Fi, сначала выполните команду iwconfig, как показано на следующем снимке экрана:
Как вы можете видеть, выходные данные показывают интерфейс loopback (lo), карту Ethernet (enp2s0) и карту Wi-Fi wlp3s0, которые мы будем использовать для сканирования доступных сетей с помощью команды Iwlist.
Первая строка показывает поддержку стандартов 802.11 и показывает, что устройство не подключено. Вторая строка показывает, что карта Wi-Fi находится в управляемом режиме и не связана с точкой доступа.
Третья строка включает Retry Short Limit, который определяет количество попыток после неудачной передачи, и RTS Threshold, определяющий количество подтверждений до соединения, Fragment Thr показывает максимальный размер пакета, который отправит ваша карта.
Последние две строки показывают, что аутентификация отсутствует и управление питанием выключено.
Команда Iwlist предоставляет дополнительную информацию о беспроводных устройствах, в том числе о тех, которые не являются частью нашего компьютера. В этом случае мы просканируем доступные сети, добавив сканирование аргументов. На выходе будет отображен список точек доступа с некоторой информацией, такой как ESSID, качество сигнала, канал, режим и т.д.
Выполните следующую команду, чтобы распечатать список доступных сетей:
ПРИМЕЧАНИЕ. Замените wlp3s0 вашей беспроводной картой, отображаемой при выполнении команды iwconfig.
Как видите, в выходных данных показано несколько сетей, включая точку доступа LinuxHint, но формат неудобен для пользователя. Если вы хотите распечатать только ESSID или имена доступных сетей, опуская остальные, запустите:
Как вы можете видеть, вывод понятен и ограничен именами точек доступа (essid).
Подключение к Wi-Fi из командной строки с помощью nmcli
NMCLI — это интерфейс командной строки для NetworkManager, который можно использовать как альтернативу графическим менеджерам. NMCLI позволяет пользователю создавать, редактировать и удалять или включать и отключать соединения, а также отображать состояние устройства.
Следующий синтаксис показывает, как подключиться к сети LinuxHint (обнаруженной с помощью ранее использованной команды Iwlist) путем выполнения nmcli со следующими аргументами:
Где d wifi указывает беспроводное устройство, подключение LinuxHint указывает ессид и пароль морочита пароль.
ПРИМЕЧАНИЕ. Замените LinuxHint на ssid вашего маршрутизатора и morochita на ваш фактический пароль.
Вы можете получить дополнительную информацию о nmcli на https://linux.die.net/man/1/nmcli
Подключение к wifi с консоли с помощью nmtui
Nmtui — это интерактивная альтернатива nmcli и Network Manager на основе curses при запуске консоли:
Первый экран позволяет нам редактировать существующее соединение, активировать новое соединение и редактировать наше имя хоста. Выберите второй вариант Активировать соединение и нажмите ENTER.
Nmtui покажет как проводные, так и беспроводные доступные сети. Выберите свою точку доступа и нажмите ENTER.
Примечание: для этого примера ESSID был изменен с LinuxHint на LinuxH1nt, чтобы показать шаг запроса пароля.
На следующем экране будет запрошен пароль, введите его и нажмите ENTER, чтобы продолжить.
Вы можете получить дополнительную информацию о Nmtui на странице руководства по адресу https://www.mankier.com/1/nmtui.
Подключитесь к Wi-Fi с помощью wpa_supplicant
Wpa_supplicant — это соискатель, который разрешает согласование в процессе аутентификации. В отличие от nmcli и nmtui, wpa_supplicant по умолчанию не устанавливается в Debian.
Чтобы установить wpa_supplicant в системах на базе Debian, выполните:
Вам нужно отредактировать файл /etc/wpa_supplicant.conf, добавив essid и пароль вашей точки доступа, вы можете добиться этого, выполнив следующую команду:
ПРИМЕЧАНИЕ. Замените LinuxHint на ваш essid и morochita на ваш фактический пароль. Вы можете использовать кавычки для сетевых имен, содержащих пробелы.
После редактирования wpa_supplicant.conf вы можете подключиться, выполнив следующую команду, где -c указывает файл конфигурации, а -i указывает сетевой интерфейс:
Как вы можете видеть с помощью iwconfig, теперь ваша беспроводная карта связана с точкой доступа.
Для подключения запустите команду dhclient, как показано на следующем снимке экрана, чтобы получить динамический IP-адрес:
ПРИМЕЧАНИЕ. Замените wlp3s0 своей беспроводной картой.
После запуска dhclient вы должны быть подключены к Интернету через соответствующую точку доступа.
Дополнительную информацию о wpa_supplicant можно получить по адресу https://linux.die.net/man/8/wpa_supplicant.
Надеюсь, вы нашли это руководство полезным для подключения к Wi-Fi из командной строки в системах на основе Debian. Следите за LinuxHint, чтобы получить больше руководств и советов по Linux.
Configure WiFi Connections
This section explains how to establish a WiFi connection. It covers creating and modifying connections as well as directly connecting.
Establish a Wireless Connection
This section will show how to establish a wifi connection to the wireless network. Note that directly connecting will implicitly create a connection (that can be seen with “nmcli c”). The naming of such will follow “SSID N” pattern, where N is a number.
First, determine the name of the WiFi interface:
$ nmcli d DEVICE TYPE STATE CONNECTION . wlan0 wifi disconnected --
Make sure the WiFi radio is on (which is its default state):
Then, list the available WiFi networks:
$ nmcli d wifi list * SSID MODE CHAN RATE SIGNAL BARS SECURITY . my_wifi Infra 5 54 Mbit/s 89 ▂▄▆█ WPA2
As an example, to connect to the access point ‘my_wifi’, you would use the following command:
$ nmcli d wifi connect my_wifi password
is the password for the connection which needs to have 8-63 characters or 64 hexadecimal characters to specify a full 256-bit key.
Connect to a Hidden Network
A hidden network is a normal wireless network that simply does not broadcast it’s SSID unless solicited. This means that its name cannot be searched and must be known from some other source.
Issue the following command to create a connection associated with a hidden network :
$ nmcli c add type wifi con-name ifname wlan0 ssid $ nmcli c modify wifi-sec.key-mgmt wpa-psk wifi-sec.psk
Now you can establish a connection by typing:
is an arbitrary name given to the connection and is the password to the network. It needs to have between 8-63 characters or 64 hexadecimal characters in order to specify a full 256-bit key.
Further Information
You will find further information and more detailed examples on following pages: