Com puc resoldre un nom d'amfitrió amb una adreça IP en un script Bash?

How Can I Resolve Hostname An Ip Address Bash Script



A tots els sistemes d'una xarxa TCP / IP se li assigna un identificador únic conegut com a adreça IP que ajuda a connectar-lo amb altres sistemes de la xarxa i de tot Internet. Tots els llocs web als quals accediu a Internet també tenen adreces IP exclusives. Com que per a tothom és difícil recordar les adreces IP d’aquests llocs web, el sistema DNS ve que ajuda a traduir aquestes adreces IP difícils de recordar a noms llegibles per humans. Amb el DNS, ja no haureu de recordar les adreces IP. En lloc d’això, només haureu de recordar el nom del domini i tot fet. En realitat, a la part posterior, el servidor DNS pren el nom d'amfitrió i el resol a una adreça IP a la qual es connecta el navegador o l'aplicació.

En aquest article, explicarem com es resol un nom d’amfitrió / nom de domini a una adreça IPv4 i IPv6 en un script Bash. Tanmateix, abans de procedir a la creació de l'script, revisem algunes de les ordres que es poden utilitzar per resoldre el nom d'amfitrió / nom de domini a una adreça IP.







Ping

Ping és l'eina més senzilla i integrada que està disponible a gairebé tots els sistemes operatius. S’utilitza per verificar l’abast d’un host en una xarxa. Tanmateix, també la podem utilitzar per trobar l'adreça IP contra qualsevol nom d'amfitrió / nom de domini. Utilitzeu la sintaxi següent per trobar l'adreça IP d'un nom d'amfitrió / nom de domini objectiu:



$pingobjectiu-amfitrió



Nslookup

Nslookup s'utilitza àmpliament per resoldre el nom d'amfitrió a una adreça IP. Per utilitzar aquesta ordre per a una cerca d'IP, utilitzeu la sintaxi següent:





$nslookup target-host

Amfitrió

Es pot utilitzar un altre servidor d’utilitat de línia d’ordres per trobar adreces IP contra qualsevol nom d’amfitrió / nom de domini. Per utilitzar aquesta ordre, utilitzeu la sintaxi següent:



$host target-host

Vostè

Dig és una altra eina útil de línia d’ordres que s’utilitza per consultar diversos registres relacionats amb el DNS. Es pot utilitzar per trobar adreces IP contra qualsevol nom d'amfitrió / nom de domini. Utilitzeu l'ordre Dig de la següent manera per trobar una adreça IP contra un nom d'amfitrió / nom de domini específic.

$vostètarget-host + curt

Script Bash per resoldre un nom d'amfitrió a una adreça IP

Per utilitzar l'script bash per a una cerca d'IP, seguiu els passos següents:

  1. Creeu un fitxer bash amb qualsevol editor de text. Aquí utilitzaré l'editor Nano per crear un script anomenat iplookup.sh .$suo nanoscript.sh
  1. Copieu-enganxeu les línies següents al fitxer de script. Tingueu en compte que, en aquest script, estic especificant el servidor DNS públic de Google per a la cerca d’IP. Podeu especificar qualsevol altre servidor DNS segons el vostre entorn.# Especifiqueu el servidor DNS
    dnsserver='8.8.8.8'
    # funció per obtenir l'adreça IP
    funcióget_ipaddr{
    adreça IP=''
    Registre # A i AAA per a IPv4 i IPv6, respectivament
    # $ 1 significa el primer argument
    si [ -n '$ 1' ];llavors
    nom d'amfitrió='$ {1}'
    si [ -Amb 'tipus de consulta' ];llavors
    tipus_consulta='A'
    ser
    # use l'ordre d'amfitrió per a les operacions de cerca de DNS
    amfitrió-t $ {query_type} $ {hostname} &> /dev/nul$ {dnsserver}
    si [ '$?' -eq '0' ];llavors
    # obtenir l'adreça IP
    adreça IP='$ (host -t $ {query_type} $ {hostname} $ {dnsserver} | awk '/has.*address/{print $ NF; exit}')'
    en cas contrari
    sortir 1
    ser
    en cas contrari
    sortir 2
    ser
    # IP de visualització
    trobo $ ip_address
    }
    nom d'amfitrió='$ {1}'
    perconsultadins 'A-IPv4' 'AAAA-IPv6';fer
    tipus_consulta='$ (printf $ consulta | tall -d- -f 1)'
    ipversió='$ (printf $ consulta | tall -d- -f 2)'
    adreça='$ (get_ipaddr $ {hostname})'
    si [ '$?' -eq '0' ];llavors
    si [ -n '$ {address}' ];llavors
    trobo 'El$ {ipversion}adreça del nom d'amfitrió$ {hostname}és:$ adreça'
    ser
    en cas contrari
    trobo 'Hi ha hagut un error'
    ser
    fet
  2. Un cop fet, utilitzeu Ctrl + O i Ctrl + X per desar i sortir del fitxer respectivament.
  3. Ara, per trobar una adreça IP contra un nom d'amfitrió / nom de domini dirigit, executeu l'script mitjançant la sintaxi següent:$./script.sh target-host

    Per exemple, per resoldre l'adreça IP de google.com, l'ordre seria:

    $./iplookup.sh google.com

    La sortida seria similar a aquesta:

    De la mateixa manera, per resoldre l'adreça IP de yahoo.com, l'ordre seria:

    $./iplookup.sh yahoo.com

    La sortida seria similar a aquesta:

    Això és tot el que hi ha! En aquest article, hem après a resoldre el nom d'amfitrió a una adreça IPv4 i IPv6 mitjançant un script bash. També vam aprendre algunes altres eines de línia d’ordres, com ara Ping, Nslookup, Host i Dig, que es poden utilitzar per realitzar una cerca d’IP.