Como posso resolver um nome de host em um endereço IP em um script de bash?

Como posso resolver um nome de host em um endereço IP em um script de bash?
Todo sistema em uma rede TCP/IP recebe um identificador exclusivo conhecido como endereço IP que ajuda a conectá -lo com outro sistema o da rede e em toda a Internet. Todos os sites que você acessa na internet também possui endereços IP exclusivos. Como é difícil para todos lembrar os endereços IP desses sites, o sistema DNS vem que ajuda a traduzir esses endereços IP difíceis de lembrar em nomes legíveis por humanos. Com o DNS, você não precisa mais se lembrar dos endereços IP. Em vez disso, você precisa apenas se lembrar do nome de domínio e tudo feito. Na verdade, no backed, o servidor DNS pega o nome do host e o resolve em um endereço IP ao qual o navegador ou aplicativo se conecta a.

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:

  1. Crie um arquivo bash usando qualquer editor de texto. Aqui estarei usando o editor Nano para criar um script chamado “IPLOKUP.sh”.
    $ sudo script nano.sh
  1. Copie-se as seguintes linhas em seu arquivo de script. Observe que, aqui neste script, estou especificando o servidor DNS público do Google para pesquisa IP. Você pode especificar qualquer outro servidor DNS conforme seu ambiente.
    # 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
  2. Uma vez feito, use Ctrl+O e Ctrl+X para salvar e sair do arquivo, respectivamente.
  3. Agora, para encontrar um endereço IP em um nome de nome de host/domínio segmentado, execute o script usando a seguinte sintaxe:
    $ ./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.