Envío el archivo con cat file1 | nc ip-address porty lo recibo con nc -l port > file2y obtengo el archivo cortado. El tamaño del archivo recibido es de 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
En otros linux que tengo (Loki en VirtualBox dentro de Windows7) esta limitación no está disponible.
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
También utilicé otro software como parte de envío con el mismo resultado, por lo tanto, culpo a la parte receptora.
En Wireshark veo la bandera (FIN, ACK) que cierra la conexión, pero no puedo encontrar ninguna razón para ello.
¿Cuál podría ser una razón para tal comportamiento?
EDITAR: en caso de que lo use nc -l port > filename, recibo 28 millones de datos, pero si lo uso nc -l port > filename < /dev/null, recibo 26K de datos (tomado de esta pregunta: envío de archivos a través de netcat ). ¿Está este comportamiento relacionado de alguna manera?
fuente

stderren cada extremo y ver si hay algo en los registros de errores. Además, intente la transferencia con el remitente y el receptor en la máquina local, utilizando127.0.0.1como IP del remitente. Por cierto, nunca usecat file | program ..., siempre use el mucho más eficienteprogram <file ....stderrmensajes. Cuando dice que usarlocalhostno hace ninguna diferencia, ¿quiere decir que se produce el mismo error? En ambos sistemas? ¿Has intentado enviar un archivo de tamaño similar de la otra manera?Respuestas:
Estás recibiendo el archivo incorrectamente.
Deberías escucharlo con
Y envíalo con
fuente