Утилита Iperf — тестирование пропускной способности и скорости сети
28.09.2022
itpro
Linux, Windows 10, Windows Server 2019
комментариев 6
Iperf – кроссплатформенная консольная утилита с открытым исходным кодом, предназначенная для тестирования пропускной способности сети между двумя узлами. Утилита iperf позволяет генерировать нагрузочный TCP и UDP трафик между хостами. С помощью iperf вы можете быстро измерить максимальную пропускную способность сети между сервером и клиентом, провести нагрузочное тестирование канала связи, маршрутизатора, сетевого шлюза (файервола), вашей Ethernet или Wi-Fi сети.
В этой статье мы покажем, как установить и использовать утилиту iPerf для проверки скорости сети в Windows, Linux и VMware ESXi (есть версии iperf для Android, MacOS, RouterOS от MikroTik и других платформ).
Утилита iPerf является кроссплатформенной и не требует установки, достаточно скопировать и запустить ее на двух устройствах, пропускную способность сети между которыми нужно оценить. iPerf работает в режиме клиент-сервер. На первом компьютере утилита iPerf запускается в режиме сервера (ожидает трафик от клиента). На втором компьютере iPerf запускается в режиме клиента, начинает генерировать TCP/UDP трафик и выполнять измерение максимальной скорости передачи данных. В большинстве случаев сейчас используется версия iPerf3 (поддерживает высокоскоростное UDP тестирование, по умолчанию используется порт 5201 TCP/UDP).
Установка и использование iPerf в Windows
Вы можете скачать iperf 3.1 для Windows по ссылке https://iperf.fr/iperf-download.php или версию iperf2 (здесь). Достаточно скачать архив iperf и распаковать в локальный каталог на диске. Установка утилиты не требуется. В архиве всего два файла: cygwin1.dll и iperf3.exe.
$iPerfZip = «https://iperf.fr/download/windows/iperf-3.1.3-win64.zip»
$TargetFolder = Join-Path $env:TEMP «iperf.zip»$iPerfPath = Join-Path $env:TEMP «iperf»
if (!(Test-Path $iPerfPath))
< Invoke-WebRequest -Uri $iPerfZip -OutFile $TargetFolder
Expand-Archive -Path $TargetFolder -DestinationPath $iPerfPath
>
Iperf это консольная утилита и для ее запуска нужно использовать командную строку. Откройте командную строку (cmd.exe) и перейдите в каталог с утилитой. Например:
Если вы запустить программу iperf3.exe без параметров, она выведет список доступных опций.
Утилита iPerf может работать в режиме сервера (параметр -s) или клиента (-c). Если вы запускаете iPerf сервер на Windows, нужно открыть входящие порт 5201 для протоколов TCP и UDP. Можно открыть порты через графический интерфейс Windows Defender Firewall или с помощью команд PowerShell. Создайте и включите правила файервола так:
New-NetFirewallRule -DisplayName ‘iPerf-Server-Inbound-TCP’ -Direction Inbound -Protocol TCP -LocalPort 5201 -Action Allow | Enable-NetFirewallRule
New-NetFirewallRule -DisplayName ‘iPerf-Server-Inbound-UDP’ -Direction Inbound -Protocol UDP -LocalPort 5201 -Action Allow | Enable-NetFirewallRule
Для Windows есть несколько реализаций графического интерфейса. Например, Iperf3-Cygwin-GUI и jperf.
Утилита jperf написана на Java (для работы на компьютере должна быть установлена Java-машина). Помимо графических рюшечек к CLI интерфейсу, Jperf умеет в реальном времени строить графики пропускной способности канала связи.
Для использования достаточно указать адрес сервера iPerf и запустить проверку.
Install-Module -Name iPerfAutomate
Установка iPerf в Linux
В дистрибутивах CentOS/RHEL/Fedora 8 пакет iperf3 включен в состав базового репозитория AppStream (в CentOS 7 iperf3 есть в EPEL). Вы можете установить его стандартной командой yum/dnf:
# dnf install iperf3
В дистрибутивах Debian/Ubuntu вы можете установить утилиту iperf3 командой:
$ sudo apt install iperf3
Если данный Linux сервер планируется использовать в качестве сервере iperf3, нужно открыть порт 5201 в firewalld (или iptables):
# firewall-cmd —permanent —add-port=5201/tcp
# firewall-cmd —permanent —add-port=5201/udp
# firewall-cmd —reload
Запуск iPerf в VMware ESXi
VMware удалила утилиту iPerf в ESXi 6.7, но вернула его в 6.7U1. Проверьте, что на вашем хосте ESXi установлен iPerf. Подключитесь к консоли ESXi по SSH, перейдите в каталог /usr/lib/vmware/vsan/bin и проверьте, есть ли в нем файл iperf или iperf3.
Если iPerf не установлен, вы можете вручную скачать offline bundle с iperf здесь (http://vibsdepot.v-front.de/depot/bundles/iperf-2.0.5-1-offline_bundle.zip), скопируйте его на ESXi хост и установить командой:
# esxcli software vib install -d /iperf-2.0.5-1-offline_bundle.zip –no-sig-check
Утилита будет установлена в каталог /opt/iperf/bin и для ее запуска нужно указывать команду:
Если вы запускаете iPerf сервер на хосте ESXi, нужно открыть порты 5201. По умолчанию эти порты запрещены в файерволе ESXi. Чтобы открыть их, можно временно отключить файервол:
# esxcli network firewall get# esxcli network firewall set —enabled=false
# esxcli network firewall get
# esxcli network firewall set —enabled true
При запуске iPerf в ESXi его нужно привязывать к интерфейсу vmkernel:
# esxcli network ip interface ipv4 get
# vmkping IP address
Запускайте iPerf на полученном IP адресе:
# iperf -s -B 192.168.31.50
Проверка пропускной способности сети с помощью iPerf
Рассмотрим теперь несколько примеров использования iperf для тестирования пропускной способности сети. В этом примере мы будем использовать сервер с CentOS в качестве сервера iperf. Запустим утилиту iperf в серверном режиме:
Сервер iperf запущен, он ожидает соединения на порту TCP/5201.
# iperf3 -s -w 32768 –p 5203
-w 32768 – зададим размер окна TCP в 32 KB (по умолчанию около 8 Кб)
–p 5203 – порт, на котором ожидает подключения iperf (напоминаю, что iperf2 по умолчанию слушает на порту 5001).
Можно запустить сервер iPerf в режиме службы Windows с помощью ключа -D.
В качестве клиента iperf я использую компьютер с Windows 10. Запустите командную строку и перейдите в каталог с исполняемым файлом iperf:
Чтобы запустить проверку сети со стороны клиента, укажите адрес (имя) хоста, где запущен сервер iperf:
iperf3.exe -c 192.168.1.202
Клиент начнет генерировать сетевой трафик и выполнит тестирование канала в течении 10 секунд и выведет примерно такую таблицу:
- Interval – промежуток тестирования (в сек.);
- Transfer – размер переданных данных за это время;
- Bandwidth – средняя скорость передачи данных.
Если вы запустили сервер iperf с увеличенным размером TCP окна, вы можете использовать следующую команду для получения максимальной нагрузки на сеть:
iperf3.exe -c 192.168.1.202 -P 8 -t 30 -w 32768 -i 5 -f g
- -c 192.168.1.202 – IP адрес сервера iperf;
- -w32768 — увеличиваем размер TCP окна;
- -t30 – время в секундах, в течении которого выполняется тестирование (по умолчанию 10 секунд);
- -P8 — число параллельных потоков (подключений), используется для получения максимальной нагрузки на канал;
- -i 5 – выводить статистику на экран каждые 5 секунд. Параметр удобно использовать при продолжительных тестах (несколько минут, часов);
- -f m — выводить результаты в Мбит/с. Здесь можно использовать атрибуты kmgKMG (килобиты, мегабиты, мегабайты и т.д.).
В нашем примере тестирование длилось 30 секунд. В итоговом отчете нас интересует значения столбца Bandwidth в последней строке [SUM]. Здесь указаны средняя скорость отправки (sender) и получения данных по сети (receiver).
В нашем случае средняя пропускная способность сети между двумя узлами – 79,7 Мбит/с. Было передано 285 Мб данных (столбец Transfer).
Можно запустить iperf в обратном режиме (сервер отправляет данные, а клиент принимает), для этого на клиенте указывается опция –R.
По-умолчанию утилита генерирует TCP трафик, если вам нужно проверить скорость сети для UDP пакетов, необходимо использовать ключ –u (сервер при этом запускается командой: iperf3 -s –u ).
Если вам нужно проверить ваш интернет-канал (предоставляемый провайдером), можно воспользоваться одним из публичных iperf серверов (список доступен здесь):
iperf3 -c iperf.it-north.net
Если нужно оценить пропускную способность сети в обоих направлениях (в дуплексном режиме), дополнительно на клиенте нужно указать опцию –d:
iperf3.exe -c IP -P 8 -t 30 -w 32768 -d
Во время выполнения теста сете с помощью iperf вы можете следить за нагрузкой на сетевой интерфейс компьютера через Task Manager.
Полный список опций утилиты iperf можно получить так:
Iperf – простая и удобная сетевая утилита, которая поможет вам измерить производительность сетевого подключения и максимальную скорость передачи данных между двумя устройствами.
Предыдущая статья Следующая статья
Мониторинг пропускной способности и скорости сети
Утилиты мониторинга пропускной способности и скорости сети.
1 Утилиты мониторинга
1.1 speedtest-cli
1.1.1 Общая информация
- Тестирование пропускной способности интернета с помощью сервиса https://www.speedtest.net/.
- Репозитоий: https://github.com/sivel/speedtest-cli.
1.1.2 Установка
- Gentoo:
1.1.3 Использование
- Простейшее использование:
1.2 NetHogs
1.2.1 Общая информация
- Репозиторий: https://github.com/raboof/nethogs.
- Группирует пропускную способность по процессам.
- Берёт информацию из /proc .
1.2.2 Установка
- Gentoo:
1.2.3 Использование
- Простейшее использование:
- выбор задержки для частоты обновления ( -d );
- режим трассировки ( -t ).
1.3 nload
1.3.1 Общая информация
- Сайт: http://www.roland-riegel.de/nload/index.html
- Отслеживает сетевой трафик и использование полосы пропускания в режиме реального времени.
- Визуализирует входящий и исходящий трафик с помощью консольных графиков.
1.3.2 Установка
- Gentoo:
1.3.3 Использование
- Простейшее использование:
1.4 vnStat
1.4.1 Общая информация
- Сайт: https://humdi.net/vnstat/
- Консольный монитор сетевого трафика.
- Использует в качестве источника информации статистику сетевого интерфейса, предоставляемую ядром (не перехватывает трафик).
- Может быть запущена без прав root .
1.4.2 Установка
- Gentoo:
1.4.3 Использование
- Простейшее использование:
1.5 iftop
1.5.1 Общая информация
- Сайт: http://www.ex-parrot.com/pdw/iftop/
- Репозитоий: https://code.blinkace.com/pdw/iftop
- Выдаёт постоянно обновляемый список сетевых соединений между парами хостов.
- По умолчанию соединения упорядочены по использованию полосы пропускания.
1.5.2 Установка
- Gentoo:
1.5.3 Использование
- Простейшее использование:
2 Генераторы трафика
2.1 iPerf
2.1.1 Общая информация
- Репозиторий: https://github.com/esnet/iperf
- Используется для измерения и настройки производительности сети.
- Состоит из клиента и сервера.
- Может создавать потоки данных для измерения пропускной способности.
- Две реализации:
- iPerf2 (оригинальный iPerf)
- Сайт: https://sourceforge.net/projects/iperf2/.
- Репозиторий: https://github.com/esnet/iperf
2.1.2 Установка
- Gentoo:
- iPerf2
2.1.3 Использование
- Простейшее использование:
- Запустите сервер:
Links to this note
Дмитрий Сергеевич Кулябов
Профессор кафедры прикладной информатики и теории вероятностей
Мои научные интересы включают физику, администрирование Unix и сетей.
Похожие
© 2006—2023 Dmitry S. Kulyabov. This work is licensed under CC BY 4.0
Published with Wowchemy — the free, open source website builder that empowers creators.
Все методы и способы анализа локальной сети: сканирование скорости, IP-адресов и трафика
Отлаженная домашняя или корпоративная сеть может начать сбоить: проблемы с передачей файлов, общие тормоза сети, конфликтность адресов и т. д. В таких случаях необходимы программный анализ и исправление неполадок. Но сначала необходимо провести сканирование локальной сети, состоящее из нескольких этапов.
Что такое анализ локальной сети
Комплекс мер по изучению параметров соединения между компьютерами в домашней или корпоративной сети называется анализом локальной сети (АЛС). Процесс включает в себя:
- измерение скорости сети;
- просмотр IP-адресов подключённых устройств;
- анализ трафика сети — процесс, который позволяет выявить конфликтную машину или неисправность паутины в определённом узле.
Эта процедура может обнаружить вредоносное программное обеспечение и изолировать его распространение на всю сеть. Поэтому АЛС стоит проводить даже в профилактических целях.
Как провести сканирование скорости
Первый параметр, который стоит просмотреть на предмет ошибок, — это скорость передачи данных. Если при обмене пакетами информации в ЛС происходят сбои, замедления потери команд, то налицо нарушение протоколов или конфликт адресов. В таких случаях стоит начинать искать неполадку. Просмотреть информацию о скорости передачи данных можно через «Командную строку» или стороннее ПО.
С помощью «Командной строки»
Терминал «Командной строки» — уникальный инструмент для управления компьютером и вывода необходимой информации пользователю. Консоль также может помочь с АЛС, в частности вывести отчёт о скорости доступа в ЛС:
-
Чтобы запустить «Командную строку», открываем меню «Пуск», переходим в папку «Служебные» и кликаем по иконке «Командная строка».
Через меню «Пуск» открываем консоль «Командной строки»
Прописываем команду ipconfig /all и находим основной шлюз компьютера
Через команду Ping основного шлюза узнаём скорость обмена данных с роутером
Если максимальное значение будет больше 1500 мсек даже в беспроводной сети, имеет смысл провести анализ трафика, а также проверить каждый компьютер на наличие вредоносного ПО антивирусными программами.
С помощью сторонних программ
Не только с помощью «Командной строки» можно узнать скорость внутри ЛС. Существуют дополнительные инструменты в виде сторонних программ. По интернету их гуляет огромное количество и большинство схожи между собой как по интерфейсу, так и по выводимым данным. Одной из таких утилит является LAN Speed Test. Утилита на должном уровне справляется с анализом скорости, имеет простой и понятный интерфейс.
-
, устанавливаем и запускаем программу.
На главной странице приложения нажимаем кнопку Start Test.В интерфейсе программы LAN Speed Test нажимаем кнопку Start Test
Данные о скорости в сети выводятся в виде таблицы
Также для анализа можно использовать другие утилиты, к примеру, Iperf или LAN Bench.
Первая весьма полезная для домашней и небольшой корпоративной сети. Приложение можно установить на все машины и следить за пингом. Оно весьма полезно, так как может производить мониторинг и вести записи продолжительное время.
Iperf — это программа для слежки за пингом и выявления небольших неполадок в ЛС
LAN Bench — это минималистическая утилита, похожая на LAN Speed Test. Ею очень легко мониторить скорость и пинг в сети, достаточно открыть интерфейс и нажать кнопку Test. Ниже сразу начнут появляться результаты.
LAN Bench — это простейшая утилита для оценки скорости ЛС
Как посмотреть список IP-адресов, подключённых к ЛС
Иногда возникает необходимость узнать информацию о подключённых к сети устройствах. В основном это касается беспроводных маршрутизаторов, к которым можно подключиться незаметно и «воровать» трафик. Посмотреть список устройств можно сторонними ПО и штатными средствами (веб-админкой маршрутизатора).
С первым всё довольно просто: существует простейшая утилита под названием Wireless Network Watcher. Она, как IP-сканер локальной сети, прекрасно справляется с анализом адресатов сети и выводит на экран всю доступную информацию о них.
Через программу Wireless Network Watcher можно увидеть список всех подключённых к сети устройств
Однако у программы есть два минуса:
- для её работы необходимо проводное подключение к роутеру;
- инструментарий программы ограничивается только выводом информации. Если нарушитель будет обнаружен, она ничего не сможет с ним сделать. То же касается и аналогичных программ. Заблокировать доступ к сети можно только внутри веб-админки роутера.
Для просмотра информации о подключённых устройствах через веб-админку маршрутизатора необходимо сначала её открыть:
-
На тыльной стороне устройства знакомимся с реквизитами для входа.
На тыльной стороне роутера знакомимся с реквизитами для входа
Через браузер открываем панель управления маршрутизатором
Находим пункт «Статистика беспроводного режима» и знакомимся со всеми подключёнными устройствами
Программы, помогающие провести анализ трафика
Анализ трафика — это сложный процесс, который должен быть известен любому профессионалу в IT-индустрии, сисадмину и другим специалистам в области. Процедура оценки передачи пакетов больше похожа на искусство, чем на элемент технического управления. Одних данных от специальных программ и инструментов тут недостаточно, необходима ещё интуиция и опыт человека. Утилиты в этом вопросе лишь инструмент, что показывает данные, остальное должен делать уже ваш мозг.
Wireshark
Wireshark — это новый игрок на рынке сетевого анализа трафика. Программа имеет довольно простой интерфейс, понятное диалоговое окно с выводом данных, а также множество параметров для настройки. Кроме того, приложение охватывает полный спектр данных сетевого трафика, потому является унитарным инструментом для анализа без необходимости добавлять в функционал программы лишние утилиты.
Wireshark имеет открытый код и распространяется бесплатно, поэтому захватывает аудиторию в геометрической прогрессии.
Возможно, приложению не хватает визуализации в плане диаграмм и таблиц, но минусом это назвать сложно, так как можно не отвлекаться на просмотр картинок и напрямую знакомиться с важными данными.
Wireshark — это программа с открытым кодом для анализа трафика ЛС
Видео: обзор программы Wireshark
Kismet
Kismet — это отличный инструмент для поиска и отладки проблем в ЛС. Его специфика заключается в том, что программа может работать даже с беспроводными сетями, анализировать их, искать устройства, которые настроены неправильно, и многое другое.
Программа также распространяется бесплатно и имеет открытый код, но сложный в понимании интерфейс немного отталкивает новичков в области анализа трафика. Однако подобный инструмент всё больше становится актуальным из-за постепенного отказа от проводных соединений. Поэтому чем раньше начнёшь осваивать Kismet, тем скорее получишь от этого пользу.
Kismet — это специальный инструмент для анализа трафика с возможностью вывода информации о беспроводной сети
NetworkMiner
NetworkMiner — это продвинутое программное решение для поиска проблем в сети через анализ трафика. В отличие от других приложений, NetworkMiner анализирует не сам трафик, а адреса, с которых были отправлены пакеты данных. Поэтому и упрощается процедура поиска проблемного узла. Инструмент нужен не столько для общей диагностики, сколько для устранения конфликтных ситуаций.
Программа разработана только для Windows, что является небольшим минусом. Интерфейс также желает лучшего в плане восприятия данных.
NetworkMiner — это инструмент для Windows, который помогает находить конфликты и неточности в ЛС
Провести полный анализ сети можно как штатными, так и сторонними способами. А полученные данные помогут исправить возможные неполадки, недочёты и конфликты.
LAN Speed Test — замеряем скорость обмена данными в локальной сети
Настроенная локальная сеть не имеет никакого отношения к вашему интернет-провайдеру, если в ней упала скорость обмена данными, искать причину нужно на подключенных к локальной сети устройствах, включая маршрутизатор. При этом вам может понадобиться определить скорость подключения в локальной сети. Наиболее очевидным кажется способ, в котором пользователь копирует большой файл, одновременно наблюдая скорость его передачи в окошке Проводника.
Да, так можно, но полученные таким способом данные будут весьма приблизительными.
Если вы рассчитываете получить больше сведений, воспользуйтесь утилитой LAN Speed Test.
Это приложение позволяет замерять скорость в локальной сети как в режиме записи, так и в режиме чтения.
Запустив утилиту, на вкладке «Home» в выпадающем списке «MAC» выберите MAC -адрес подключенного к играющему роль сервера компьютеру устройства, а в поле «Folder» укажите папку или том на этом устройстве и нажмите «Start Test».
Дополнительно можно указать размер блока данных, но это необязательно.
Зато в папке обязательно должны находиться файлы, чтобы LAN Speed Test было с чем работать.
Проверка не займет много времени, после чего в разделе «Result» будет выведена средняя скорость подключения в мегабайтах в секунду отдельно для чтения и отдельно для записи.
Полученные данные могут быть представлены в виде графика, сохранены в лог и отправлены по электронной почте.
- iPerf2 (оригинальный iPerf)