Как проверить скорость интернета linux

Обновлено: 02.07.2024

Эта заметка выросла из шпаргалки для самого себя. Мне по работе приходится отлавливать баги в сети. Как проверить скорость в VPN-туннеле? Почему сервер не пингуется? Или пингуется, но не доступен. Кто забил весь канал торрентами? Где пропадают пакеты? Почтовый клиент выдает непонятную ошибку, что произошло на самом деле? Эти и многие другие вопросы периодически возникают у любого пользователя. Под катом описание программ входящих во все современные дистрибутивы, начиная от пинга и до таких экзотических как ngrep. А так же картинками, если картинками можно назвать, копии дампа с консоли.

Ключ -n означает, что надо выводить IP адреса вместо доменных имен, это полезно если пингуете по IP, тогда не будет тратится время на разрешение доменого имя, а еще, если DNS сервер не доступен это приведет к паузе в несколько секунд. Ключ -i задает интервал между отправкой пакетов, а -s размер пакета. Размер не может быть больше, чем MTU интерфейса. При помощи комбинации ключей -i и -s можно загрузить канал на любую ширину. -I задает имя интерфейса, через который будет отправлен пакет, полезно, если надо обойти таблицу маршрутизации. Чтобы вывести статистику, как я сделал я после третьего пакета, надо послать пингу сигнал SIGQUIT, с клавиатуры это делается Cntr+\

traceroute

traceroute показывает маршрут до удаленного хоста. По умолчанию он работает довольно медленно, так как опрашивает каждый роутер на пути пакета, по очереди и по три раза. Вы видите три времени ответа рядом с каждым хостом или три звездочки, если он не отвечает. Но traceroute можно ускорить. Ключ -N показывает сколько шагов пути пакета, они называются хопами, найти за 1 цикл, а -q количество запросов, которые будут отправлены к хосту. Ключ -A показывает номер автономной системы. Автономная система — блок IP сетей, выделенных одному оператору.

tcpdump

Иногда полезно глубже заглянуть, что же происходит в сети. Какие пакеты приходят и уходят. Например, чтобы удостовериться, что пакеты все таки уходят, а не блокируются фаерволом.

Вот что происходит при команде

ngrep


Несмотря на всю мощь иногда возможностей tcpdump не хватает, например посмотреть, что происходит внутри пакетов, особенно это актуально для текстовых протоколов, таких как smtp, imap, SIP и тд. Тут на помощь приходит ngrep.
Например, чтобы отловить пакеты идущие с/или на порт 5060, в которых присутствует слово NOTIFY
rt94:

И несколько простых утилиток, про которые нужно знать, что они существуют.
Как узнать, через какую запись в таблице маршрутизации пойдет трафик на IP адрес.

image

Как посмотреть кто или что забивает канал?
Для этого есть утилита iptraf c интерфейсом основанным на ncurses. При запуске без параметров выводит меню.
Для того, чтобы посмотреть суммарную статистику по интерфейсу
iptraf -d eth0

image

Для статистики по соединениям
iptraf -i eth0

Например у вас есть VPN туннель. Как проверить его ширину? Самый простой способ это утилита iperf. На одном хосте запускаем ее с ключем -s это будет сервер, который повиснет по умолчанию на порт 5001. С другой стороны запускаем с единственным параметром — адресом нашего сервера.

image

mii-tool

За рамками обзора остались nmap и hping. Жду в камментах ссылки на другие полезные программы. Может имеет смысл перенести в какой-нибудь подходящий блог?

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

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

Инструменты для мониторинга интернет-трафика и скорости сетевого соединения в Linux

Я представляю вам различные утилиты, которые помогут мониторить скорость вашего интернет соединения. Также я добавил инструкции по установке для дистрибутивов на основе Ubuntu/Debian, также данные утилиты могут быть легко установлены и в других дистрибутивах.

Неважно, если вы новичок, который хочет простых, работающих решений, или гуру, желающий получить как можно больше информации о сети, предпочитаете ли вы программы с графическим интерфейсом (GUI) или командной строкой (CLI), я помогу вам найти необходимую утилиту для определенной задачи.

1. NetSpeed ​​- расширение оболочки GNOME для пользователей ПК


Расширение Netspeed Shell

NetSpeed - это расширение оболочки GNOME, которое отображает суммарные скорости загрузки и скачивания на панели gnome. При нажатии на него выводятся отдельные значения в выпадающем списке.

Это применимо, только если вы используете рабочую среду GNOME. Если еще не знакомы, прочитайте руководство, чтобы узнать, как использовать расширения GNOME Shell .

2. Fast - тестировщик скорости интернета от Netflix


Fast Утилита скорости скачивания

После установки вы можете запустить утилиту, напишите:

И через несколько секунд вы еще раз получите свой результат


Скорость интернета на дисплее snap Fast

3. speedtest-cli: проверка скорости загрузки и скачивания


speedtest-cli

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

Установили - запустите, просто напишите:

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

4. NetHogs - проверка использования пропускной способности для каждой программы


NetHogs

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

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

Чтобы запустить ее, напишите:

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

5. nload - мониторинг интернет-трафика в режиме реального времени


nload

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

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

Для запуска напишите:

Вы можете посмотреть его различные параметры в мануале ( man nload ).

6. CBM - измеритель полосы пропускания с цветным интерфейсом


CBM Измеритель Пропускной Способности с Цветным Интерфейсом

CBM - очень простая утилита, которая отображает (в цвете) сетевой трафик на всех подключенных устройствах очень лаконично.

CBM - немного устаревшая программа, которую можно найти в большинстве дистрибутивов. Поэтому устанавливать и удалять ее с помощью менеджера пакетов очень просто.

Запустить CBM так же просто, как и установить. Пишем:

Команды отображаются в нижней части вашего терминала, чтобы вы могли легко их выбрать.

7. iPerf - тестирование производительности сети между двумя хостами


iPerf

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

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

Далее запускаем нужную вам версию:

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

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

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

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

8. vnStat - логгер сетевого трафика


vnStat

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

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

Чтобы использовать его в обычном виде, напишите:

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

9. iftop - «топ» использования сети


iftop

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

Заключение

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

Какой ваш любимый инструмент и как вы его используете? Дайте нам знать в разделе комментариев!

linux-logo

Сегодня в статье разберем пример, как в серверных дистрибутивах Linux можно осуществить проверку скорости интернета из под консоли. Скорость подключения к интернету — это очень важный параметр работы сети.

Проверка скорости интернета через терминал в Linux.

Конечно, вы могли бы скачать файл с помощью wget и таким образом узнать скорость интернета. Но тогда на скорость загрузки будет влиять не только пропускная способность вашей сети, но и скорость отдачи сервера. Поэтому лучше использовать сервис speedtest, это, возможно, даже из командной строки.

speedtest-cli — это скрипт, написанный на Python, который позволяет измерить скорость интернета linux в двух направлениях. Вы можете проверять скорость сети на определенном расстоянии или для конкретных серверов, а также поделиться своим результатом через интернет.

Установка SPEEDTEST-CLI в Ubuntu Server

Утилита может быть установлена двумя способами. Или из репозитория, либо прямо с Github, мы рассмотрим оба способа. Начнем с простого.

Сначала обновите систему до самой последней версии:

Затем установите саму программу speedtest-cli:

Второй способ немного посложнее, сначала скачайте файл программы с GitHub и дайте ему права на выполнение:

Вы можете скопировать скрипт в директорию /bin или выполнять его прямо из той директории в которую его скачали.

Проверка скорости интернета

Чтобы проверить скорость интернет linux достаточно запустить скрипт без параметров:

Вы можете посмотреть результат проверки в байтах, а не в битах:


Для получения информации только о ping, скорости загрузки и отдачи:


Посмотреть список доступных серверов можно с помощью параметра --list , но вывод будет очень большой, для сокращения воспользуемся программой grep и отфильтруем по определенному городу:


Теперь вы можете определить скорость соединения с нужным сервером, для этого достаточно указать его ID:


Чтобы вывести версию утилиты выполните:

А для просмотра всех возможных опций программы:

Установка SPEEDTEST | man от разработчика

Существует еще одна версия speedtest. На официальной странице есть руководство по инсталляции. Приведу пример для инсталляции на Ubuntu\Debian систему. Для начала устанавливаем все зависимости:

Далее добавляем в систему ключ

Если до этого устанавливали speedtest-cli, то удаляем его:

Ну и в завершении устанавливаем саму программу:

Для проверки скорости интернет соединения набираем в консоле:

Проверка скорости сети с помощью iPerf

iPerf — отличный способ проверить скорость вашей локальной сети (а не скорость Интернета, как это делает предыдущий инструмент). Пользователи Debian, Raspbian и Ubuntu могут установить его с помощью apt:

Проверка скорости в локальной сети

После установки вам понадобятся две машины в одной сети, чтобы использовать эту программу (на обоих должен быть установлен iPerf). Определите один в качестве сервера.

Получаем ip адрес сервера:

Ваш локальный IP-адрес (при условии, что локальная сеть IPv4) начинается с 192.168.*.* или 10.*.*.* Запишите IP-адрес, чтобы вы могли использовать его на другом компьютере (тот, который обозначен как клиент).

Запустите iperf на сервере:

Теперь он ждет входящих соединений от клиентов.


Сервер прослушивает TCP порт 5001

Как видете сервер будет прослушивать порт 5001. Если у вас закрыт данный порт его необходимо открыть командой.

Назначьте другой компьютер клиентом и выполните эту команду, подставив IP-адрес вашего сервера, который вы узнали с помощью команды выше, например:

Тест занимает всего несколько секунд.


Если есть вопросы, то пишем в комментариях.

Также можете вступить в Телеграм канал, ВК или подписаться на Twitter. Ссылки в шапки страницы.
Заранее всем спасибо.


Установка speedtest-cli для проверки скорости интернета в Unix/Linux

Есть несколько способов установить speedtest-cli:

Вводим пароль от пользователя root и получаем его права.

-=1=- Установка speedtest-cli используя pythin-pip

И, выполняем установку speedtest-cli пакета:

Для обновления speedtest-cli, используйте:

-=2=- Установка speedtest-cli используя Python скрипт

Сначала загрузите скрипт python из github с помощью команды wget, распакуйте загруженный файл (master.zip):

После извлечения архива, перейдите в speedtest-cli-master папку и сделайте исполняемый файл:

Затем переместите исполняемый файл в /usr/bin директорию:

Вот еще один вариант:

-=3=- Установка speedtest-cli используя пакетный менеджер.

Если вы используйте Debian/Ubuntu ОС, выполните:

Если вы используйте CentOS/Fedora/RHEL ОС, выполните:

Если вы используйте Mac OS X, выполните:

Для начала, устанавливаем HomeBrew:

И выполняем установку:

-=4=- Установка speedtest-cli используя Github

И выполняем установку:

Или можно запустить следующую команду:

Использование speedtest-cli для проверки скорости интернета в Unix/Linux

В зависимости каким методом установки вы воспользовались, будет зависеть запуск speedtest-cli утилиты:

1. Чтобы проверить скорость загрузки и выгрузки своего интернет-соединения, запустите команду speedtest-cli без каких-либо аргументов, как показано ниже:

2. Для вывода информации в байтах (вместо битов), используйте:

3. Поделитесь своей пропускной способностью с друзьями или семьей. Вам предоставляется ссылка по завершению проверки:

Конечно, вы можете комбинировать оба варианта:

4. Вам не нужна дополнительная информация (кроме Ping, Download и upload), то для этого используйте:

7. Проверьте скорость подключения к определенному серверу. Используйте идентификатор сервера, сгенерированный в примере 5 и в примере 6:

Как указать идентификатор сервера для тестирования?

Во-первых, возьмите список серверов, введите:

Чтобы просмотреть идентификатор сервера, введите:

Чтобы выполнить поиск идентификатора сервера, введите:

Так же, можно показать только ID сервера(ов):

Далее используйте идентификатор сервера 6088:

8. Создание лога с помощью speedtest-cli

Speedtest-cli можно запустить как cronjob, чтобы получить лог-файл с тестом скорости интернет-соединения. Откройте crontab с помощью следующей команды:

И добавьте эту строку (я предполагаю, что speedtest_cli.py установлен в /usr/local/bin) в crontab:

Сохраните изменения и выйдите из редактора crontab. Это проведет тест скорости в 0:30 каждый день и добавит результат в файл /tmp/speedlog.txt.

9. Чтобы проверить версию утилиты, используйте:

10. Для дополнительной информации ( помощи), используйте:

Добавить комментарий Отменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Читайте также: