You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Инструкция этого типа вызывает процесс подключения к SSID, получения IP адреса и других IP параметров, измерение времени отклика DNS-серверов.

Для подключения (ассоциации) используется утилита iw либо wpa_supplicant.

В качестве возможных входных параметров используются:

ПараметрЗначениеКомментарий
interfacewlan0Имя беспроводного интерфейса (wlan0 или wlan1), через который подключаться
ssidстрокаУказывается имя беспроводной сети, к которой необходимо подключиться
passwordстрокаWPA2-PSK пароль
encryptionopen, psk, tlsТип шифрования, см. далее

Сенсор поддерживает несколько типов подключения (авторизации) в SSID.

Для варианта "open", т.е. открытой сети, никаких параметров, кроме имени сети (ssid), и имени интерфейса (interface, по умолчанию "wlan0"), не требуется.

Для варианта "psk", т.е. сети, защищенной общим ключом-паролем, и использующий метод аутентификации WPA2-PSK (preshared key), требуется дополнительный параметр password, являющийся ключом доступа к сети.

Для варианта "tls", т.е. сети, защищенной протоколом 802.1Х и использующей метод аутентификации WPA2-Enterprise и авторизацию по клиентскому сертификату, требуется указать (вместо параметра password):

  • ca_cert - путь до файла с корневым сертификатом вашей инфраструктуры PKI
  • client_cert - путь до файла с сертификатом клиента
  • client_key - путь до файла с ключом клиентского сертификата
  • key_password - (опционально) пароль на клиентский сертификат (если он установлен)

Формат всех файлов сертификатов и ключей - PEM (т.е. BASE64, текстовый). В настоящий момент сертификаты PKCS#12 (файлы .pfx, .p12) не поддерживается. Файлы сертификатов и ключей должны быть заранее размещены (загружены) на сервер самостоятельно; реализация централизованной загрузки файлов через сервер QoW планируется.

Типовой код скрипта инструкции:

import json
import sys
import wnam_wifi_connection

data = ' '.join(sys.argv[1:])
json_data = json.loads(data)['data']

wnam_wifi_connection.change_network(**json_data)

По завершении подключения, если оно было успешным, происходит:

получение IP адреса, и измерение времени, которое это заняло

получение IP адреса по DNS запросу к тому серверу (серверам), которые были получены в DHCP-процессе. Измеряется время резолва имен ya.ru и google.com

Инструкция возвращает серверу результат следующего вида:

Величины ssid_duration (время ассоциации), dhcp_duration (время получения IP адреса), go_ping и ya_ping (время DNS-резолвинга) выдаются в миллисекундах.

Полученный тайминги отображаются в отчете типа "Подключение к сети".

Параметр "ip" соответствует выданному по DHCP IP адресу DNS-сервера (в примере = 8.8.8.8).


  • No labels