Como obter uma resposta udp com o netcat

9

Estou tentando fazer algo como:

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

Eu posso ver que a resposta está vindo do servidor (com tcpdump) após a execução desta linha.

No entanto, meu response.txt permanece vazio.

Existe uma maneira de obtê-lo?

scarrydeveloper151012
fonte
Você tem um firewall? Ver o pacote via tcpdump não significa que ele será aceito.
precisa

Respostas:

5

O Netcat inicia o UDP "falando" (o padrão é TCP) especificando a opção de linha de comando -u. Aqui está um exemplo de conexão com um servidor de horário RFC 867 usando UDP. Observe que o endereço IP ou o nome DNS do outro host é especificado primeiro e o número da porta é especificado em segundo - assim como a maioria dos programas de telnet. Após a conexão, você provavelmente precisará pressionar a tecla Enter para que o servidor de horário envie a hora atual. (talvez este seja o seu problema)

nc -u igor.alcpress.com 13

Quinta-feira, 15 de setembro 14:41:57 2005

Como o UDP não é um protocolo orientado a conexão, a conexão permanecerá "aberta" até você finalizar o programa pressionando Ctrl-C.

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

Ele responde se você não redirecionar a saída?
tentar :echo "request" | nc -u 1.1.1.1 9999 | tee response.txt


fonte
Olá e obrigado pela sua resposta. A sequência de comandos da maneira como você a escreveu sai logo após sua 'execução na minha máquina. No entanto, o problema está resolvido para mim. Eu não sabia que poderia executar o nc -u 1.1.1.1 9999 e enviar / receber dados dentro do nc enquanto ele estiver em execução. Muito obrigado mais uma vez