1

Я отправляю файл с cat file1 | nc ip-address port и получите его с помощью nc -l port > file2 и получите вырезанный файл. Размер полученного файла составляет 28467200 байт (прибл. 28M) из ок. 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

На других Linux у меня (Loki в VirtualBox внутри Windows7) это ограничение не доступно.

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

Я также использовал другое программное обеспечение в качестве отправляющей стороны с тем же результатом, поэтому я виню принимающую часть.

В Wireshark я вижу флаг (FIN, ACK), который закрывает соединение, но я не могу найти никакой причины для этого.

Что может быть причиной такого поведения?

РЕДАКТИРОВАТЬ: В случае, если я использую nc -l port > filename я получаю 28M данных, но если я использую nc -l port > filename < /dev/null , я получаю 26K данных (взято из этого вопроса: Отправка файла через netcat), Это поведение как-то связано?

1 ответ1

2

Вы получаете файл неправильно.

Вы должны слушать это с

nc -l -p port > file2

И отправить его с

cat file1 | nc ip port

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .