drhellp

 
<<< Назад

Чтение параметров интернет соединения

Как узнать параметры текущего интернет соединения в линукс.

Проверено на сервере под управлением Debian 9.
Для работы скрипта устанавливаем из репозитория speedtest-cli. Проверяем его работу в консоли сервера.
Создаем объект Internet со свойствами:

  • Download
  • Upload
  • Ip
  • Provider
  • On

Создаем сценарий speedInternet:

$provider = 'none';
$ip = '0.0.0.0';
$download = 0;
$upload = 0;
$on = 0;
$command = exec('/usr/bin/speedtest-cli', $out);
foreach ($out as $value) {
    /* Поиск провайдера */
    $provider_search   = 'esting from ';
    $provider_pos = strpos( $value, $provider_search);
    if ($provider_pos > 0) {
        /* Провайдер найден определяем внешний IP */
        $tmp = explode('(', $value);
        $ip = str_replace(')...', '', $tmp[1]);
        /* Определяем провайдера */
        $provider = str_replace('Testing from ', '', $tmp[0]);
    }
    /* Поиск Download */
    $download_search   = 'ownload: ';
    $download_pos = strpos( $value, $download_search);
    if ($download_pos > 0) {
        $tmp = explode(' ', $value);
        $download = $tmp[1];
        $download_v = $tmp[2];
        /* Доступ в интернет */
        $on = 1;
    }
    /* Поиск Upload */
    $upload_search   = 'pload: ';
    $upload_pos = strpos( $value, $upload_search);
    if ($upload_pos > 0) {
        $tmp = explode(' ', $value);
        $upload = $tmp[1];
        $upload_v = $tmp[2];
    }
}
setGlobal('Internet.Provider', $provider);
setGlobal('Internet.Ip', $ip);
setGlobal('Internet.Download', $download);
setGlobal('Internet.Upload', $upload);
setGlobal('Internet.On', $on);

С помощью модуля Cron устанавливаем переодичность запуска сценария каждые 15 минут. Добавляем построение графиков с помощью модуля Charts.

Обсуждение (1) (8)

Смотрите так же:
07.11.2018 Включение, выключение компьютеров по сети

Тверь, Россия