Filtro para resposta do servidor remoto a partir da varredura SMTP do netcat

0

Estou usando o netcat para testar se o servidor de troca remota (permite chamá-lo de exchange1) está online com este código.

nc -w 3 192.168.130.17 25

Eu quero criar um arquivo que tenha esse nome de servidor se e somente se a varredura netcat receber uma resposta de '220 SMTP Server Ready' , significando que exchange1 está online. Se não houver resposta, não quero gravar o nome no arquivo porque ele está off-line.

  1. Como isso é chamado? Acredito que seja um tipo de filtragem de resultado de comando, mas tenha problemas para encontrar artigos sobre como isso é feito.
  2. Alguém pode fornecer um exemplo simples disso para que eu possa aprender com ele.
por Casey McCarthy 13.04.2016 / 18:32

1 resposta

0

Você pode usar grep para verificar a saída de algum comando que corresponde a um padrão, canalizando a saída desse outro comando para grep . Você usa grep dentro de um bloco if .

Um exemplo obviamente bobo (e o mundo inteiro chama de "sexta-feira", certo?):

if date +%A | grep -q 'Friday'; then   # -q tells grep not to echo the matched text
    throw_a_party
else
    echo "Nope, sorry, not time yet."
fi

As seções relevantes do manual do Bash incluem "Pipelines" e "Compound Commands".

    
por 13.04.2016 / 19:17