На порту 5144 прослушивается процесс-демон, который я не могу изменить.
Я хочу использовать netcat для отправки содержимого текстового файла на сервер, но это приводит netcat
к зависанию терминала, пока я не нажму Ctrl+ C:
cat file.txt | nc -u 127.0.0.1 5144
Единственный способ заставить его работать - это запустить nc -u 127.0.0.1 5144
и скопировать / вставить содержимое файла вручную.
Есть идеи?
Также обратите внимание:
cat file.txt | ...
приводит к,bash: ...: command not found
и я могу продолжать использовать терминал- использование
nc -u 127.0.0.1 5144 < file.txt
приводит к тому же поведению, что и использование | над
linux
data-transfer
netcat
Amil
источник
источник
cat file.txt | …
? Как насчетnc -u 127.0.0.1 5144 < file.txt
?bash: ...: command not found
и использование «<file.txt» делает то же самое, что и | оператор (netcat просто зависает)bash: ...: command not found
»? Или это говорит «bash: cat: command not found
» или «bash: nc: command not found
»? И затем он выходит из командной строки или зависает? (Я призываю вас отредактировать вопрос, чтобы добавить эти подробности, чтобы людям в Австралии, которые только что проснулись, не нужно было читать все эти комментарии, чтобы узнать, каковы ваши симптомы.)Ответы:
Если вы используете GNU-версию netcat, вы можете использовать флаг -c, чтобы закрыть соединение в EOF.
Если вы используете оригинальную версию инструмента, вы можете использовать флаг -q.
Пример для оригинальной версии:
Я добавил «-q 0» к вашей исходной команде. Это закрывает соединение после отправки файла.
источник
-l -p <port>
для прослушивания. Версия GNU просто берет-l <port>
.Предполагая, что после отправки EOF соединение будет бездействовать, вы можете использовать
-w timeout
опцию, которая работает, чтобыtimeout
быть равной нулю (в отличие от глупой-q
опции ...)источник
Если вы переходите с FreeBSD на Windows:
FreeBSD:
cat file.txt | nc -N 10.0.0.5 5144
-N
отключит сетевой сокет после EOFОкна:
nc -l -p 5144 > output.txt
-l
прекратит прослушивание при закрытом соединении (в отличие от-L
)источник