Я использую iperf
. Это устройство клиент-сервер в том смысле, что вы запускаете его в режиме сервера на одном конце и подключаетесь к нему с другого компьютера на другой стороне сети.
Один обе машины работают:
sudo apt-get install iperf
Мы начнем iperf
сервер на одной из машин:
iperf -s
А затем на другом компьютере скажите iperf
для подключения в качестве клиента:
iperf -c <address of other computer>
На клиентском компьютере вы увидите что-то вроде этого:
oli@bert:~$ iperf -c tim------------------------------------------------------------Client connecting to tim, TCP port 5001TCP window size: 16.0 KByte (default)------------------------------------------------------------[ 3] local 192.168.0.4 port 37248 connected with 192.168.0.5 port 5001[ ID] Interval Transfer Bandwidth[ 3] 0.0-10.0 sec 1.04 GBytes 893 Mbits/sec
Конечно, если вы используете брандмауэр на серверном компьютере, вам нужно будет разрешить подключения к порту 5001 или изменить порт с помощью -p
флаг.
Вы можете сделать почти то же самое с простым старым nc
(netcat) если вы к этому склонны. На серверной машине:
nc -vvlnp 12345 >/dev/null
И клиент может передавать гигабайт нулей через dd
над nc
тоннель.
dd if=/dev/zero bs=1M count=1K | nc -vvn 10.10.0.2 12345
Как демод:
$ dd if=/dev/zero bs=1M count=1K | nc -vvn 10.10.0.2 12345Connection to 10.10.0.2 12345 port [tcp/*] succeeded!1024+0 records in1024+0 records out1073741824 bytes (1.1 GB) copied, 9.11995 s, 118 MB/s
Время там задается dd
но он должен быть достаточно точным, поскольку он может выводить данные только с той скоростью, с какой их примет труба. Если вы недовольны этим, вы могли бы завернуть все это в time
вызов.
Помните, что результат находится в мегабайты так что умножьте это на 8, чтобы получить мегабиты- скорость в секунду. Приведенная выше демонстрация работает со скоростью 944 Мбит / с.