Как получить ответ от UTP с Netcat

9

Я пытаюсь сделать что-то вроде:

echo "request" | nc -u 1.1.1.1 9999 > response.txt

Я вижу, что ответ приходит с сервера (с tcpdump) после выполнения этой строки.

Тем не менее, мой response.txt остается пустым.

Есть ли способ получить это?

scarrydeveloper151012
источник
У вас есть брандмауэр? Просмотр пакета через tcpdump не означает, что он будет принят.
Zoredache

Ответы:

5

Netcat начинает «говорить» по UDP (по умолчанию TCP), указав параметр командной строки -u. Вот пример подключения к серверу времени RFC 867 с использованием UDP. Обратите внимание, что IP-адрес или DNS-имя другого хоста указывается первым, а номер порта указывается вторым - как и большинство программ telnet. После установления соединения вам, вероятно, потребуется нажать клавишу Enter, чтобы сервер времени отправил вам текущее время. (возможно это твоя проблема)

nc -u igor.alcpress.com 13

Чт 15 сен 14:41:57 2005

Поскольку UDP не является протоколом, ориентированным на соединение, соединение будет оставаться «открытым» до тех пор, пока вы не завершите программу нажатием Ctrl-C.

================================================== ====================

Он отвечает, если вы не перенаправляете вывод?
пытаться :echo "request" | nc -u 1.1.1.1 9999 | tee response.txt


источник
Здравствуйте и спасибо за ваш ответ. Последовательность команд в том виде, в каком вы ее написали, выходит сразу после ее выполнения на моей машине. Однако проблема для меня решена. Я не знал, что смогу просто запустить nc -u 1.1.1.1 9999 и отправлять / получать данные внутри nc во время его работы. Большое спасибо еще раз