Neste artigo, explicaremos como resolver um nome de host/domínio para um endereço IPv4 e IPv6 em um script bash. No entanto, antes de prosseguir para criar o script, vamos revisar alguns dos comandos que podem ser usados para resolver o nome do host/domínio em um endereço IP.
Ping
O ping é a ferramenta mais simples e embutida que está disponível em quase todos os sistemas operacionais. É usado para verificar a acessibilidade de um host em uma rede. No entanto, também podemos usá -lo para encontrar o endereço IP em qualquer nome de host/nome de domínio. Use a seguinte sintaxe para encontrar o endereço IP de um nome de host segmentado/nome de domínio:
$ ping-alvo-host
Nslookup
O nslookup é amplamente usado para resolver o nome do host em um endereço IP. Para usar este comando para uma pesquisa de IP, use a seguinte sintaxe:
$ NSLOOKUP Target-Host
Hospedar
Outro utilitário de linha de comando “host” pode ser usado para encontrar endereço IP contra qualquer nome de host/nome de domínio. Para usar este comando, use a seguinte sintaxe:
$ host Target-host
Escavação
Dig é outra ferramenta útil da linha de comando usada para consultar vários registros relacionados ao DNS. Pode ser usado para encontrar endereço IP em qualquer nome de host/nome de domínio. Use o comando DIG da seguinte maneira para encontrar um endereço IP em um nome de host específico/nome de domínio.
$ DIG Target-host +curto
Bash Script para resolver um nome de host em um endereço IP
Para usar o script Bash para uma pesquisa de IP, siga as etapas abaixo:
$ sudo script nano.sh
# Especifique o servidor DNS
dnsserver = "8.8.8.8 "
# função para obter endereço IP
função get_ipaddr
ip_address = ""
# A e AAA Record para IPv4 e IPv6, respectivamente
# $ 1 significa primeiro argumento
se [-n "$ 1"]; então
hostName = "$ 1"
se [-z "query_type"]; então
query_type = "a"
fi
# Use o comando host para operações de pesquisa DNS
host -t $ query_type $ hostName &>/dev/null $ dnsserver
Se ["$?"-eq" 0 "]; então
# Obtenha endereço IP
ip_address = "$ (host -t $ query_type $ hostName $ dnsserver | awk '/tem.*endereço/print $ nf; saída')"
outro
saída 1
fi
outro
saída 2
fi
# Exibir IP
eco $ ip_address
hostName = "$ 1"
para consulta em "A-IPV4" "aaaa-ipv6"; fazer
query_type = "$ (printf $ query | corte -d- -f 1)"
ipversion = "$ (printf $ query | corte -d- -f 2)"
endereço = "$ (get_ipaddr $ hostName)"
Se ["$?"-eq" 0 "]; então
se [-n "$ endereço"]; então
eco "o $ ipversion endereço do hostname $ hostName é: $ endereço"
fi
outro
eco "ocorreu um erro"
fi
feito
$ ./roteiro.SH Target-Host
Por exemplo, para resolver o endereço IP de “Google.com ”, o comando seria:
$ ./IPLOKUP.sh google.com
A saída seria semelhante a isso:
Da mesma forma, para resolver o endereço IP de “Yahoo.com ”, o comando seria:
$ ./IPLOKUP.sh yahoo.com
A saída seria semelhante a isso:
Isso é tudo o que há para isso! Neste artigo, aprendemos a resolver o nome do host em um endereço IPv4 e IPv6 usando um script bash. Também aprendemos algumas outras ferramentas de linha de comando, como ping, nslookup, host e escava.