como extrair apenas o endereço IP de uma consulta DNS

1

Gostaria de saber como extrair apenas o endereço IP de uma consulta de DNS / dig. A consulta que estou executando é assim:

lab-1:/var/# dig +answer smtp.mydomain.net +short   
smtp.ggs.mydomain.net
10.11.11.11

Gostaria de poder obter apenas o endereço IP retornado. Atualmente estou brincando com o bash pipe e o comando awk. Mas até agora, nada do que tentei está funcionando.

Obrigado.

    
por dot 26.02.2018 / 15:14

2 respostas

2

Acredito que dig +short produz duas linhas para você porque o domínio você consulta, smtp.mydomain.net é um CNAME para smtp.ggs.mydomain.net , e dig imprime o passo intermediário de resolução.

Você provavelmente pode confiar na última linha da saída do dig, sendo o IP você quer, porém, e, portanto, o seguinte deve fazer:

dig +short smtp.mydomain.net | tail -n1
    
por 26.02.2018 / 15:38
1

A resposta do @dhag parece boa; se você não quiser "confiar na última linha da saída do dig, sendo o IP", você pode usar grep para extrair apenas o endereço IP numérico:

dig +short smtp.mydomain.net | grep '^[.0-9]*$'
    
por 26.02.2018 / 17:16

Tags