summaryrefslogtreecommitdiff
path: root/PYTHON/nmcli - Работа с сетевыми интерфейсами.md
blob: 4a8c1b55169020cf0ff84dd6c240c404ef7655c5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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")
```
В этом же примере, автоматически подключаемся к указанной сети.

Это лишь пару примеров, которые призваны показать принцип работы. А дальше, вы можете использовать это для автоматизации подключения к сетям в скриптах, разработки своей утилиты для управления сетями или мониторинга состояния сети.