Como gerar pacote UDP

21

Desejo gerar pacotes UDP para testar um programa, algo equivalente ao uso de telnet para testar a porta TCP (o telnet pode gerar pacotes UDP?)

Como posso fazer isso?

Don Ch
fonte

Respostas:

35

Uma palavra: Netcat

O Netcat é a ferramenta essencial para esse tipo de coisa.

Você pode debater qualquer porta que escolher com pacotes UDP com algo como:

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

(53 é o número da sua porta)

Ou você pode enviar um arquivo real ou pedir para vincular essa porta e ouvir como um serviço ou o que quiser.

Satanicpuppy
fonte
16

Se você deseja apenas enviar um pacote UDP com alguns dados especificados, em oposição à resposta de Satanicpuppy, que envia continuamente dados aleatórios, você pode:

echo "foo" | nc -w1 -u 111.22.333.4 20000
jamis
fonte
Por alguma razão, ele envia alguns pacotes "X" antes de enviar "foo". Usando /dev/udpevitar isso.
Pare de prejudicar Monica
5

Este é bom se você estiver tentando trabalhar com pacotes grandes. O netcat usa 1024 bytes no modo UDP.

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

Modo UDP, para a porta 2090 no endereço, com um comprimento de pacote de 1550 bytes.

Isso é do pacote nmap ou, às vezes, é empacotado como nping separadamente.

Mais informações estão em https://nmap.org/book/nping-man-general-operation.html

Criggie
fonte
-1

Você sempre pode usar programas de terminal UDP. A maioria deles também pode enviar / receber TCP. Por exemplo, o terminal de script do Docklight tem essa possibilidade. E então você envia os dados da mesma maneira que os enviaria para a porta serial.

Do utilizador
fonte