Cómo generar paquetes UDP

21

Quiero generar paquetes UDP para probar un programa, algo equivalente a usar telnet para probar el puerto TCP (¿Telnet puede generar paquetes UDP?)

¿Cómo puedo hacer esto?

Don Ch
fuente

Respuestas:

35

Una palabra: Netcat

Netcat es la herramienta de referencia para este tipo de cosas.

Puede cambiar el puerto que elija con paquetes UDP con algo como:

nc -u host.example.com 53 < /dev/random

(53 es su número de puerto)

O puede enviar un archivo real, o decirle que enlace ese puerto y escuche como un servicio, o lo que quiera.

Satanicpuppy
fuente
16

Si desea simplemente enviar un paquete UDP con algunos datos específicos, en lugar de la respuesta de Satanicpuppy que envía datos aleatorios continuamente, puede hacer lo siguiente:

echo "foo" | nc -w1 -u 111.22.333.4 20000
jamis
fuente
Por alguna razón, envía algunos paquetes "X" antes de enviar "foo". Usando /dev/udpevitar esto.
Deja de dañar a Monica el
5

Este es bueno si está intentando trabajar con paquetes grandes. netcat usa 1024 bytes en modo UDP.

nping --udp -p 2090 111.22.333.4 --data-length 1550

Modo UDP, al puerto 2090 en la dirección, con una longitud de paquete de 1550 bytes.

Esto es del paquete nmap, o a veces se empaqueta como nping por separado.

Más información está en https://nmap.org/book/nping-man-general-operation.html

Criggie
fuente
-1

Siempre puede usar programas de terminal UDP. La mayoría de ellos también pueden enviar / recibir TCP también. Por ejemplo, el terminal de scripts Docklight tiene esa posibilidad. Y luego envía los datos de la misma manera que los enviaría al puerto serie.

Usuario
fuente