Como redirecionar uma resposta do udp com o netcat

3

Pergunta semelhante a Como obter uma resposta do udp com o netcat , exceto que o OP estava satisfeito em usar o nc interativamente (e eu não faço isso) t a reputação de comentar ainda!)

Eu preciso ser capaz de codificar alguns scripts bash e lidar com a resposta. Como o código abaixo deve ser alterado para obter a resposta no arquivo response.txt ou capturar a resposta para linhas posteriores de código no bash?

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

O servidor pode levar alguns segundos ou até minutos para gerar a resposta e a resposta. Quando tento o seguinte, volto ao prompt de comando imediatamente e o response.txt está vazio.

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

(Eu realmente confirmei que executar nc -u 1.1.1.1 9999 e digitar "request" em uma linha por si só retorna a resposta esperada. Mas como capturá-lo?)

Obrigado antecipadamente!

    
por user1011471 11.12.2014 / 21:18

1 resposta

0

Quando experimentei o comando nc , você o usou e nunca saiu. Então, adicionei a opção -q 2 ao tempo limite após 2 segundos e isso funciona para mim:

chicks@silver 17:34:54 ~ !548 $ echo "foo" | nc -u 127.0.0.1 7777 -q 2 > /tmp/z
chicks@silver 17:34:59 ~ !549 $ cat /tmp/z
foo

Então você só precisa escolher um tempo limite com o qual possa viver. :)

    
por 12.12.2014 / 02:36

Tags