Como posso ver os dados enviados / recebidos pelo netcat?

3

Eu sigo este post para verificar a velocidade com o netcat , mas em seu blog quando ele faz ctrl-c , ele recebe dados em bytes recebidos enviados.

No post ele correu:

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

Quando eu faço ctrl-c , não recebo esses dados.

Como posso receber dados enviados / recebidos pelo netcat?

    
por Avihai Marchiano 25.10.2012 / 16:17

2 respostas

6

Na verdade, existem duas implementações do netcat , o implementação original por * Hobbit * (chamado netcat-traditional no Debian / Ubuntu) e o Implementação do OpenBSD (chamada netcat-openbsd no Debian / Ubuntu). No Debian / Ubuntu, os binários são chamados de nc.traditional e nc.openbsd respectivamente (e nc é um link para um desses através do sistema de alternativas).

A postagem no blog da sua referência está usando nc.traditional , que mostra os bytes enviados / recebidos ao sair. Você provavelmente está usando nc.openbsd , o que não é. Instale a implementação tradicional e chame-a explicitamente.

% 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

Como alternativa, se preferir usar o nc.openbsd , você pode canalizar a saída do netcat no lado do servidor para wc -c e inspecionar a saída da seguinte forma:

% nc -l -n -p 10000 | wc --bytes
99422208
    
por 25.10.2012 / 23:34
2

Você pode usar o utilitário Pipe Viewer (pv) para observar o progresso visual de um fluxo. Ele pode ser modificado para exibir as unidades de escolha e está disponível na maioria das distribuições.

Exemplo:

cat largefile | pv | netcat 192.168.10.1000 1234
    
por 25.10.2012 / 16:20

Tags