Neste artigo, explicaremos como resolver um nome de host / nome de domínio para um endereço IPv4 e IPv6 em um script Bash. No entanto, antes de prosseguir com a criação do script, vamos revisar alguns dos comandos que podem ser usados para resolver o nome do host / nome do domínio para um endereço IP.
Ping
Ping é a ferramenta mais simples e integrada 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 / domínio de destino:
$pinghost-alvo
Nslookup
Nslookup é amplamente usado para resolver o nome do host para um endereço IP. Para usar este comando para uma pesquisa de IP, use a seguinte sintaxe:
$host-alvo nslookup
Hospedeiro
Outro host de utilitário de linha de comando pode ser usado para localizar o endereço IP em qualquer nome de host / nome de domínio. Para usar este comando, use a seguinte sintaxe:
$hospedeiro hospedeiro-alvo
Vocês
Dig é outra ferramenta de linha de comando útil usada para consultar vários registros relacionados ao DNS. Ele pode ser usado para encontrar o 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 / domínio específico.
$tutarget-host + shortScript Bash para resolver um nome de host para um endereço IP
Para usar o script bash para uma pesquisa de IP, siga as etapas abaixo:
- Crie um arquivo bash usando qualquer editor de texto. Aqui, usarei o editor Nano para criar um script chamado iplookup.sh .$sudo nanoscript.sh
- Copie e cole as seguintes linhas em seu arquivo de script. Observe que, aqui neste script, estou especificando o servidor DNS público do Google para pesquisa de IP. Você pode especificar qualquer outro servidor DNS de acordo com seu ambiente.# Especifique o servidor DNS
Servidor dns='8.8.8.8'
# função para obter o endereço IP
funçãoget_ipaddr{
endereço de IP=''
# A e registro AAA para IPv4 e IPv6, respectivamente
# $ 1 representa o primeiro argumento
E se [ -n '$ 1' ];então
nome de anfitrião='$ {1}'
E se [ -Com 'Tipo de consulta' ];então
Tipo de consulta='PARA'
ser
# use o comando host para operações de busca DNS
hospedeiro-t $ {query_type} $ {hostname} &> /dev/nulo$ {dnsserver}
E se [ '$?' -eq '0' ];então
# obter endereço IP
endereço de IP='$ (host -t $ {query_type} $ {hostname} $ {dnsserver} | awk '/has.*address/{print $ NF; exit}')'
outro
saída 1
ser
outro
saída 2
ser
# display ip
jogou fora $ ip_address
}
nome de anfitrião='$ {1}'
paraconsultano 'A-IPv4' 'AAAA-IPv6';Faz
Tipo de consulta='$ (printf $ query | cut -d- -f 1)'
ipversion='$ (printf $ query | cut -d- -f 2)'
Morada='$ (get_ipaddr $ {hostname})'
E se [ '$?' -eq '0' ];então
E se [ -n '$ {address}' ];então
jogou fora 'O$ {ipversion}endereço do nome do host$ {hostname}é:$ endereço'
ser
outro
jogou fora 'Um erro ocorreu'
ser
feito - Uma vez feito isso, use Ctrl + O e Ctrl + X para salvar e sair do arquivo, respectivamente.
- Agora, para encontrar um endereço IP em um nome de host / domínio de destino, execute o script usando a seguinte sintaxe:$./script.sh target-host
Por exemplo, para resolver o endereço IP de google.com, o comando seria:
$./iplookup.sh google.comA saída seria semelhante a esta:
Da mesma forma, para resolver o endereço IP de yahoo.com, o comando seria:
$./iplookup.sh yahoo.comA saída seria semelhante a esta:
Isso é tudo que há para fazer! Neste artigo, aprendemos a resolver o nome do host para 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 Dig, que podem ser usadas para realizar uma pesquisa de IP.