Я слежу за этим постом в проверить скорость с помощью netcat , но в своем блоге, когда он это делает ctrl-c
, он получает данные об отправленных полученных байтах.
В посте он написал:
time yes|nc -v -v -n 192.168.0.8 2222 >/dev/null
than after ctrl-c het get:
sent 87478272, rcvd 0
real 0m9.993s
user 0m2.075s
sys 0m0.939s
Когда я делаю ctrl-c
, Я не получаю этих данных.
Как я могу получить отправленные / полученные данные с помощью netcat?
На самом деле есть две реализации netcat, то оригинальная реализация * Hobbit * (называется netcat-traditional
в Debian / Ubuntu) и Реализация OpenBSD (называется netcat-openbsd
в Debian / Ubuntu). В Debian / Ubuntu двоичные файлы называются nc.traditional
и nc.openbsd
соответственно (и nc
ссылка на один из них через систему альтернатив).
Сообщение в блоге, на которое вы ссылаетесь, использует nc.traditional
который показывает отправленные / полученные байты при выходе. Вы, вероятно, используете nc.openbsd
что не делает. Установите традиционную реализацию и вызовите ее явно.
% time yes | nc.traditional -vvn 127.0.0.1 10000 > /dev/null
(UNKNOWN) [127.0.0.1] 10000 (webmin) open
^C sent 99422208, rcvd 0
yes 1,06s user 0,09s system 38% cpu 3,003 total
В качестве альтернативы, если вы предпочитаете использовать nc.openbsd
вы можете передать вывод netcat на стороне сервера в wc -c
и просмотрите вывод так:
% nc -l -n -p 10000 | wc --bytes
99422208
Вы можете использовать Утилита Pipe Viewer (pv) чтобы наблюдать за визуальным движением потока. Его можно изменить для отображения выбранных единиц и он доступен в большинстве дистрибутивов.
Пример:
cat largefile | pv | netcat 192.168.10.1000 1234