O Netcat recebe apenas parte do arquivo

1

Eu envio o arquivo com cat file1 | nc ip-address port e recebo com nc -l port > file2 e faço o arquivo ser cortado. O tamanho do arquivo recebido é 28467200 bytes (aprox. 28M) de aprox. 150M.

uname -a
Linux MyName 3.13.0-107-generic #154-Ubuntu SMP Tue Dec 20 09:57:27 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

Em outro linux que eu tenho (Loki no VirtualBox dentro do Windows7) esta limitação não está disponível.

uname -a
Linux Loki-VirtualBox 4.4.0-57-generic #78-Ubuntu SMP Fri Dec 9 23:50:32 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

Eu também usei outro software como um remetente com o mesmo resultado, portanto culpo a parte receptora.

No Wireshark, vejo o sinalizador (FIN, ACK) que faz a conexão fechar, mas não consigo encontrar nenhum motivo para isso.

O que poderia ser um motivo para tal comportamento?

EDITAR: Caso eu use nc -l port > filename recebo 28M de dados, mas se eu usar nc -l port > filename < /dev/null , receberei 26K de dados (extraídos desta pergunta: Enviando arquivo via netcat ). Esse comportamento está de alguma forma relacionado?

    
por avp 14.03.2017 / 12:01

1 resposta

2

Você está recebendo o arquivo incorretamente.

Você deve ouvi-lo com

nc -l -p port > file2

E envie com

cat file1 | nc ip port
    
por 14.03.2017 / 12:44