Содержание

Мониторинг пропускной способности и скорости сети в Linux

speedtest-cli

speedtest-cli - это инструмент командной строки с открытым исходным кодом для тестирования пропускной способности интернета с помощью speedtest.net (который сам по себе не является продуктом с открытым исходным кодом). Это простой инструмент для проверки скорости загрузки и выгрузки.

speedtest-cli доступен в большинстве дистрибутивов и может быть легко установлен с помощью менеджера пакетов.

В Debian/Ubuntu вы можете использовать следующую команду:

$ sudo apt install speedtest-cli

В Arch Linux

$ sudo pacman -Sy speedtest-cli

После установки просто запустите:

$ speedtest

Через несколько секунд вы получите информацию о том, какой сервер использовался для проверки вашего соединения, а также подробности о скорости вашего интернета. Используйте man speedtest, чтобы узнать о дополнительных опциях (например, не выполнять проверку загрузки с помощью -no-download).

NetHogs

NetHogs - это простая консольная утилита с открытым исходным кодом. Вместо того чтобы разбивать трафик по протоколам или подсетям, она группирует пропускную способность по процессам. Это очень полезно для поиска PID зависшей программы или просто для того, чтобы увидеть, что именно съедает ваш пропускную способность. Она в основном полагается на /proc, поэтому большинство функций доступны только в Linux.

NetHogs входит в состав многих дистрибутивов. Это означает, что вы можете установить и удалить его с помощью обычного менеджера пакетов.

В Debian/Ubuntu вы можете использовать следующее:

$ sudo apt install nethogs

В Arch Linux

$ sudo pacman -Sy nethogs

Вы можете указать устройства после команды (например, sudo nethogs eth0). Существуют дополнительные опции, такие как выбор задержки для частоты обновления (-d), информация о версии (-V), режим трассировки (-t) и некоторые другие, с которыми вы можете ознакомиться на страницах руководства (man nethogs).

Запуск командой

# nethogs

Кроме того, вы можете указать устройства после команды (например, sudo nethogs eth0). Существуют дополнительные опции, такие как выбор задержки для частоты обновления (-d), информация о версии (-V), режим трассировки (-t) и некоторые другие, с которыми вы можете ознакомиться на страницах руководства (man nethogs).

nload

nload - это консольное приложение с открытым исходным кодом, которое позволяет отслеживать сетевой трафик и использование полосы пропускания в режиме реального времени. Оно визуализирует входящий и исходящий трафик с помощью графиков, а также предоставляет дополнительную информацию (общий объем переданных данных, минимальное/максимальное использование сети и т.д.). Это простой в использовании инструмент, который иногда может быть действительно полезен.

Вы можете установить его в дистрибутивы на базе Debian и Ubuntu с помощью команды:

$ sudo apt install nload

В Arch Linux

$ sudo pacman -Sy nload

Чтобы запустить его, просто введите:

$ nload

Вы можете узнать параметры nload с помощью man-страницы (man nload).

iPerf

iPerf - это инструмент, используемый для измерения и настройки производительности сети, который может производить стандартизированные измерения производительности для любой сети. Он имеет функции клиента и сервера и может создавать потоки данных для измерения пропускной способности, потерь и других параметров между двумя концами в одном или обоих направлениях. Существует две реализации: оригинальный iPerf (iPerf2) и несовместимая с ним реализация iPerf3.

Самый простой способ установить (или удалить) iPerf или iPerf3 - это воспользоваться менеджером пакетов.

Например, в Ubuntu:

$ sudo apt install iperf
$ sudo apt install iperf3

В Arch Linux

$ sudo pacman -Sy iperf
$ sudo pacman -Sy iperf3

Чтобы запустить его, просто введите:

$ iperf

или

$ iperf3

Примечание: Во всех дальнейших примерах, если вы используете iPerf3, просто замените все экземпляры iperf на iperf3.

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

$ iperf -s

Это откроет машину для прослушивания порта 5001 или 5201. Чтобы подключиться к другой машине и выполнить тест, используйте:

$ iperf -c server_address

Где server_address - это, конечно же, адрес сервера, к которому вы пытаетесь подключиться. Это может быть либо IP-адрес, либо что-то вроде ping.online.net. Команда iPerf3 имеет список серверов, которые можно использовать для тестирования.

iPerf - это широко используемый инструмент, который имеет множество специфических применений и множество опций. Я не буду углубляться в них, поскольку это выходит за рамки данной статьи. Однако вы можете заглянуть в manpage (man iperf / man iperf3) или в документацию.

vnStat

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

Как и многие другие сетевые инструменты, vnStat включен в репозитории большинства дистрибутивов. Это означает, что вы можете легко установить (и удалить) его с помощью менеджера пакетов.

Например, в Ubuntu:

$ sudo apt install vnstat

В Arch Linux

$ sudo pacman -Sy vnstat

Чтобы запустить его, просто введите:

$ vnstat

vnStat предлагает и более продвинутые функции, например, возможность использования баз данных (их импорт или экспорт результатов в файл). Вы можете ознакомиться с ними в manpage (man vnstat). Больше дополнительных примеров можно найти на официальном сайте.

iftop

iftop - это свободный инструмент для мониторинга системы из командной строки с открытым исходным кодом, который выдает постоянно обновляемый список сетевых соединений между парами хостов. Соединения могут быть упорядочены по различным параметрам, но по умолчанию они упорядочены по использованию полосы пропускания, при этом отображаются только «лучшие» потребители полосы пропускания.

iftop включен в репозитории большинства дистрибутивов и установить его с помощью менеджера пакетов.

Например, в Ubuntu:

$ sudo apt install iftop

В Arch Linux

$ sudo pacman -Sy iftop

Чтобы запустить его, просто введите:

$ sudo iftop

Заключение

В этой статье я показал вам несколько инструментов, которые вы можете использовать для мониторинга различных параметров производительности вашей сети. Для каждого найдется подходящий инструмент, и вы можете выбрать тот, который соответствует вашим конкретным потребностям. Я надеюсь, что эта статья была хорошим введением в мир интернет-мониторинга.

Источник