summaryrefslogtreecommitdiff
path: root/PYTHON/nmcli - Работа с сетевыми интерфейсами.md
diff options
context:
space:
mode:
Diffstat (limited to 'PYTHON/nmcli - Работа с сетевыми интерфейсами.md')
-rw-r--r--PYTHON/nmcli - Работа с сетевыми интерфейсами.md56
1 files changed, 56 insertions, 0 deletions
diff --git a/PYTHON/nmcli - Работа с сетевыми интерфейсами.md b/PYTHON/nmcli - Работа с сетевыми интерфейсами.md
new file mode 100644
index 0000000..4a8c1b5
--- /dev/null
+++ b/PYTHON/nmcli - Работа с сетевыми интерфейсами.md
@@ -0,0 +1,56 @@
+
+`nmcli` — это удобный инструмент командной строки для управления сетевыми интерфейсами в Linux. С помощью Python его можно использовать для автоматизации таких задач, как: подключение к Wi-Fi, работа с Ethernet или настройки VPN.
+
+Для начала, убедимся, что nmcli установлен. Проверим его версию:
+
+`nmcli --version
+
+Затем установим библиотеку subprocess для работы с командами оболочки:
+
+`pip install subprocess
+
+➡️ **1. Получение информации о сетях:**
+
+```python
+import subprocess
+
+def list_wifi():
+
+    result = subprocess.run(['nmcli', '-t', '-f', 'SSID,SIGNAL', 'dev', 'wifi'], 
+
+                             stdout=subprocess.PIPE, text=True)
+
+    print("Доступные сети:")
+
+    print(result.stdout)
+
+
+
+list_wifi()
+```
+Данный пример выведет список SSID и уровень сигнала доступных Wi-Fi сетей.
+
+➡️ **2. Подключение к WiFi с паролем:**
+
+```python
+def connect_wifi(ssid, password):
+
+    command = ['nmcli', 'dev', 'wifi', 'connect', ssid, 'password', password]
+
+    result = subprocess.run(command, stdout=subprocess.PIPE, text=True)
+
+    if result.returncode == 0:
+
+        print(f"Успешно подключено к {ssid}")
+
+    else:
+
+        print(f"Ошибка подключения: {result.stdout}")
+
+
+
+connect_wifi("PyLinux_WIFI", "CoolPassword")
+```
+В этом же примере, автоматически подключаемся к указанной сети.
+
+Это лишь пару примеров, которые призваны показать принцип работы. А дальше, вы можете использовать это для автоматизации подключения к сетям в скриптах, разработки своей утилиты для управления сетями или мониторинга состояния сети. \ No newline at end of file