iperf как пользоваться утилитой в Linux


Рассмотрим утилиту iperf, как пользоваться и какую информацию можно получить при помощи нее. iperf используется очень часто для анализа работы сети.

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



Утилита iperf как ей пользоваться в Linux


iperf генерирует трафик и позволяет отслеживать пропускную способность канала. Поддерживает TCP, UDP и может работать как с IPv4, так и с IPv6.


iperf3 — более современная реализация, содержащая часть кода iperf.



Эксперименты будем проводить с IPv4, поэтому IPv4 для текущего сеанса (до первой перезагрузки) отключим.

echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6



На клиентскую машину и на сервер с Ubuntu в обоих случаях устанавливаем пакеты

sudo apt install iperf iperf3



Запускаем на сервере

iperf3 -s

————————————————————
Server listening on 5201
————————————————————



На клиенте запускаем тесты. Сначала зададим размер для передачи — 500 Мб.

iperf3 -c 123.123.123.123 -n 500M


[ 4] 44.00-44.56 sec 6.28 MBytes 94.1 Mbits/sec 0 173 KBytes
— — — — — — — — — — — — — — — — — — — — — — — — —
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-44.56 sec 500 MBytes 94.1 Mbits/sec 0 sender
[ 4] 0.00-44.56 sec 500 MBytes 94.1 Mbits/sec receiver

iperf Done.



Обмен данными будет выполняться какое-то время, результат появится  в консоли в виде значений по скорости на прием и передачу.



Можно установить ограничение по времени, в примере это 5 секунд

iperf3 -c 123.123.123.123 -t 5

— — — — — — — — — — — — — — — — — — — — — — — — —
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-5.00 sec 56.2 MBytes 94.3 Mbits/sec 0 sender
[ 4] 0.00-5.00 sec 56.1 MBytes 94.2 Mbits/sec receiver

iperf Done.



Результат выводится в консоль и на сервере и на клиенте.



iperf3 отличается от iperf тем, что сервер слушает TCP. Клиент может выбрать UDP флагом -u-R задает двунаправленную передачу данных.

iperf3 -u -R -c 123.123.123.123



По UDP можно с точностью сказать какой процент пакетов был потерян

iperf как пользоваться


Старая версия (iperf)


По умолчанию использует другой порт, но можно указать желаемый флагом -p



На сервере

iperf -s



На клиенте

iperf -c 123.123.123.123 -b20k -t10 -d -u



Здесь указывается, что трафик должен быть UDP -u, идти в обоих направлениях -d, в течение 10 секунд -t10, со скоростью 20 Кбит/с.



Так можно имитировать любой трафик и измерять пропускную способность.

Аналогом является netperf (пример использования на CentOS). Также часто используется IPtraf

Сказать спасибо