Enviar paquetes UDP a un destino

Enviar paquetes UDP a un destino

En mi máquina Linux, recibo paquetes UDP de otra máquina. Cuando recibo los paquetes UDP, aparece el mensaje.

"Listening on UDP port : 8999"

Esto se activa mediante la siguiente parte del comando de un código que escucha en ese puerto específico.

GET_PORT((&(paraThread->destHost)), tmpPort);
fprintf(stderr, "Listening on UDP port : %d\n", ntohs(tmpPort));

Lo que necesito es que tan pronto como reciba cada paquete UDP, deba enviar un paquete UDP de respuesta de, digamos, 400 bytes a la dirección IP de la que recibí el paquete UDP. ¿Cómo puedo lograr eso?

Respuesta1

Puede enviar cat400 bytes al host remoto cuando reciba el mensaje:

cat 400bytes.txt >/dev/udp/remotehost/8000

Como se explicaaquí. Por supuesto, hay muchas otras opciones disponibles.

Para generar 400 bytes aleatorios para ese dispositivo, use dd:

dd if=/dev/urandom bs=1 count=400 of=/dev/udp/remotehost/8000

información relacionada