Cómo obtener una respuesta de udp con netcat

9

Estoy tratando de hacer algo como:

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

Puedo ver que la respuesta proviene del servidor (con tcpdump) después de ejecutar esta línea.

Sin embargo, mi respuesta.txt permanece vacía.

¿Hay alguna forma de conseguirlo?

scarrydeveloper151012
fuente
¿Tiene un firewall? Ver el paquete a través de tcpdump no significa que sea aceptado.
Zoredache

Respuestas:

5

Netcat comienza a "hablar" UDP (el valor predeterminado es TCP) especificando la opción de línea de comando -u. Aquí hay un ejemplo de conexión a un servidor horario RFC 867 usando UDP. Tenga en cuenta que la dirección IP o el nombre DNS del otro host se especifican primero y el número de puerto se especifica en segundo lugar, al igual que la mayoría de los programas telnet. Una vez realizada la conexión , probablemente deba presionar la tecla Intro para que el servidor de hora le envíe la hora actual. (tal vez este es tu problema)

nc -u igor.alcpress.com 13

Jue 15 sep 14:41:57 2005

Como UDP no es un protocolo orientado a la conexión, la conexión permanecerá "abierta" hasta que finalice el programa presionando Ctrl-C.

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

¿Responde si no redirige la salida?
tratar :echo "request" | nc -u 1.1.1.1 9999 | tee response.txt


fuente
Hola y gracias por tu respuesta. La secuencia de comandos de la forma en que la escribió se cierra justo después de su ejecución en mi máquina. Sin embargo, el problema está resuelto para mí. No sabía que podía ejecutar nc -u 1.1.1.1 9999 y enviar / recibir datos dentro de nc mientras se está ejecutando. Muchas gracias una vez más