Linux: инструмент командной строки для быстрого изменения реальной беспроводной сети, «подключенной к»?

Когда операционная система имеет несколько доступных беспроводных сетейизвестно , что это: в ее «предпочтительном» списке), предполагается, что она должна осуществлять интеллектуальное управление роумингом между ними, обычно подключаясь к лучшей из них (измеряя это по нескольким факторам, как покрытие или скорость).

Но при работе с некоторыми дистрибутивами Linux (например, предназначенными для аудита безопасности) я обнаружил, что такое управление не очень разумно : иногда сеть зависает (не ведет себя полностью нормально), а операционная система остается в этой беспроводной сети.

Итак, я подумал о том, чтобы самому написать сценарий, чтобы заставить Linux выбирать другую беспроводную сеть, когда подключенная сеть замедляется или напрямую выходит из строя (возможно, это можно проверить, проверив связь с маршрутизатором / точкой доступа).
Что касается того, что я читал об управлении беспроводной сетью из командной строки, то «подключение к» кажется немного неудобным.

Кто-нибудь знает о хорошем инструменте командной строки для переключения в сеть, работающем под Linux? Помните, что мне не нужно подключаться к новой сети: я просто хочу подключиться к уже подключенной сети, поэтому предполагается, что операционная система знает пароль, данные шифрования и так далее.

Возможные примеры командной строки:

switchtowifi --essid MyWiFiNetwork
switchtowifi --essid MyWiFiNetwork --bssid 11:22:33:44:55:66
switchtowifi --channel 5

Первый пример переключается на любую уже сохраненную сеть WiFi с именем MyWiFiNetwork.
Второй пример переключается на уже сохраненную сеть WiFi с именем MyWiFiNetworkBSSID 11:22:33:44:55:66.
Третий пример переключается на любую уже сохраненную сеть WiFi на канале 5.

Ответы (3)

Надеюсь, это не слишком поздно, чтобы быть полезным; но у меня есть аналогичное требование из-за наличия более одной точки доступа дома (включая тестирование некоторых, мое основное соединение и отдельную рабочую локальную сеть yadda yadda...)

Одна из проблем в этом вопросе заключается в том, что в нем нет упоминания о вашем дистрибутиве, используемых беспроводных утилитах, методе настройки известных вам сетей и т. д. Кроме того, насколько я вижу, на данный момент нет ничего подобного, без использования что- то вроде wicd-gtk и т. д.

Лично я использую Ubuntu, так как мне нравится управление пакетами/дистрибутивами, но я ненавижу Gnome/KDE и т. д. и выбираю Fluxbox, который делает обычные утилиты Wi-Fi немного бессмысленными/бесполезными.

Так; после отключения диспетчера сети, чтобы он не мешал, я вручную настроил нужные мне сети, используя подробности по адресу: http://linuxcommando.blogspot.co.uk/2013/10/how-to-connect-to-wpawpa2-wifi . -network.html

Файлы конфигурации для каждой сети я поместил в новый каталог в /etc/wpa_supplicant.d/SSID_HERE.conf, а затем сделал небольшой скрипт в /usr/local/bin/connectwifi , который (хотя и грубый WIP!) можно найти здесь . : http://dgunix.com/383-switching-between-wifi-networks-in-linux/

Надеюсь, это натолкнет вас хотя бы на некоторые идеи!

(Ответ найден на сайте Unix и Linux StackExchange)

Решение с использованием инструмента nmcli , включенного в большинство дистрибутивов или легко устанавливаемого через apt-get, yum... и т. д.:

Чтобы показать уже сохраненные сети Wi-Fi:

$ nmcli con
NAME            UUID                                   TYPE              TIME
Wireless-1      28d6c265-xxxx-4e83-907f-ecb5ab3ac37c   802-11-wireless   Thu 
Wired-Network   30d29da3-xxxx-4ea2-94ff-0edac8954ff7   802-3-ethernet    Sun 
Wireless-2      89f31b44-xxxx-4b7d-abb1-8242a1fa7040   802-11-wireless   Thu 
Wireless-3      6adcb4e8-xxxx-4e88-bf50-872d9e5eb1f3   802-11-wireless   Fri 
Wireless-4      8c4fc701-xxxx-472e-aecc-40131c0d8d31   802-11-wireless   Fri 

Обратите внимание, что сеть хранится под уникальным идентификатором UUID .

Чтобы подключиться к любой из этих сетей (пример для Wireless-1):

$ nmcli con up uuid 28d6c265-xxxx-4e83-907f-ecb5ab3ac37c

См. справочную страницу для получения дополнительных функций, таких как забыть, отключить, сканировать или подключиться к новой (еще не сохраненной) сети.
Инструмент nmcliвеликолепен: он может работать с определенным беспроводным устройством (например: wlan0) или с любым из них общим образом (например: вы просто указываете wifi, и инструмент отвечает за установление соединения).

Информация взята отсюда .
Спасибо @ThatGuy за ссылку.

Можешь попробовать:

  • iwкоторый является основным инструментом для задач, связанных с сетью WiFi (см. Настройка беспроводной сети )
  • Wireless Tools (WT): iwconfig/ iwlist(набор инструментов, позволяющих управлять беспроводными расширениями),
  • wpasupplicant(в настоящее время в большинстве дистрибутивов wpa_supplicant установлен по умолчанию)

Читать далее: