Cum pot rezolva un nume de gazdă la o adresă IP într-un script Bash?

How Can I Resolve Hostname An Ip Address Bash Script



Fiecărui sistem dintr-o rețea TCP / IP i se atribuie un identificator unic cunoscut sub numele de adresă IP care ajută la conectarea acestuia cu alt sistem din rețea și de pe internet. Toate site-urile pe care le accesați pe internet au, de asemenea, adrese IP unice. Deoarece este dificil pentru toată lumea să-și amintească adresele IP ale acestor site-uri web, vine sistemul DNS care ajută la traducerea acestor adrese IP greu de reținut în nume care pot fi citite de om. Cu DNS, nu mai trebuie să vă amintiți adresele IP. În schimb, trebuie doar să vă amintiți numele domeniului și toate lucrurile făcute. De fapt, pe spate, serverul DNS preia numele de gazdă și îl rezolvă la o adresă IP la care browserul sau aplicația se conectează apoi.

În acest articol, vom explica cum să rezolvați un nume de gazdă / nume de domeniu la o adresă IPv4 și IPv6 într-un script Bash. Cu toate acestea, înainte de a continua cu crearea scriptului, permiteți-ne să examinăm câteva dintre comenzile care pot fi folosite pentru a rezolva numele gazdei / numele domeniului la o adresă IP.







Ping

Ping este cel mai simplu și încorporat instrument disponibil pe aproape toate sistemele de operare. Este folosit pentru a verifica accesibilitatea unei gazde într-o rețea. Cu toate acestea, o putem folosi și pentru a găsi adresa IP împotriva oricărui nume de gazdă / nume de domeniu. Utilizați următoarea sintaxă pentru a găsi adresa IP a unui nume de gazdă / nume de domeniu vizat:



$pingțintă-gazdă



Nslookup

Nslookup este utilizat pe scară largă pentru a rezolva numele gazdei la o adresă IP. Pentru a utiliza această comandă pentru o căutare IP, utilizați următoarea sintaxă:





$nslookup țintă-gazdă

Gazdă

O altă gazdă de utilitate din linia de comandă poate fi utilizată pentru a găsi adresa IP împotriva oricărui nume de gazdă / nume de domeniu. Pentru a utiliza această comandă, utilizați următoarea sintaxă:



$gazdă țintă-gazdă

Tu

Dig este un alt instrument de linie de comandă util care este folosit pentru a interoga diverse înregistrări legate de DNS. Poate fi folosit pentru a găsi adresa IP împotriva oricărui nume de gazdă / nume de domeniu. Utilizați comanda Dig în modul următor pentru a găsi o adresă IP împotriva unui anumit nume de gazdă / nume de domeniu.

$tuțintă-gazdă + scurt

Script Bash pentru a rezolva un nume de gazdă la o adresă IP

Pentru a utiliza scriptul bash pentru o căutare IP, urmați pașii de mai jos:

  1. Creați un fișier bash utilizând orice editor de text. Aici voi folosi editorul Nano pentru a crea un script numit iplookup.sh .$sudo nanoscript.sh
  1. Copiați-lipiți următoarele linii în fișierul script. Rețineți că, aici, în acest script, specific serverul DNS public Google pentru căutare IP. Puteți specifica orice alt server DNS conform mediului dvs.# Specificați serverul DNS
    dnsserver=„8.8.8.8”
    # funcție pentru a obține adresa IP
    funcţieget_ipaddr{
    adresa IP=''
    Înregistrare # A și AAA pentru IPv4 și respectiv IPv6
    # $ 1 reprezintă primul argument
    dacă [ -n „1 $” ];atunci
    numele gazdei='{1} $'
    dacă [ -Cu „tip_interogare” ];atunci
    tip_interogare='LA'
    fi
    # folosiți comanda gazdă pentru operațiuni de căutare DNS
    gazdă-t $ {query_type} $ {hostname} &> /dev/nul$ {dnsserver}
    dacă [ „$?” -eq „0” ];atunci
    # obțineți adresa IP
    adresa IP='$ (host -t $ {query_type} $ {hostname} $ {dnsserver} | awk '/has.*address/{print $ NF; exit}')'
    altceva
    Ieșire 1
    fi
    altceva
    Ieșire 2
    fi
    # afișare ip
    aruncat $ ip_address
    }
    numele gazdei='{1} $'
    pentruinterogareîn „A-IPv4” „AAAA-IPv6”;do
    tip_interogare='$ (printf $ interogare | tăiat -d- -f 1)'
    ipversiune='$ (printf $ interogare | tăiat -d- -f 2)'
    abordare='$ (get_ipaddr $ {hostname})'
    dacă [ „$?” -eq „0” ];atunci
    dacă [ -n '$ {address}' ];atunci
    aruncat - The$ {ipversion}adresa Hostname-ului$ {hostname}este:$ adresa'
    fi
    altceva
    aruncat 'A aparut o eroare'
    fi
    Terminat
  2. După ce ați terminat, utilizați Ctrl + O și Ctrl + X pentru a salva și a ieși din fișier, respectiv.
  3. Acum, pentru a găsi o adresă IP împotriva unui nume de gazdă / nume de domeniu vizat, rulați scriptul utilizând următoarea sintaxă:$./script.sh țintă-gazdă

    De exemplu, pentru a rezolva adresa IP a google.com, comanda ar fi:

    $./iplookup.sh google.com

    Rezultatul ar fi similar cu acesta:

    În mod similar, pentru a rezolva adresa IP a yahoo.com, comanda ar fi:

    $./iplookup.sh yahoo.com

    Rezultatul ar fi similar cu acesta:

    Asta este tot ce trebuie! În acest articol, am învățat să rezolvăm numele gazdei la o adresă IPv4 și IPv6 folosind un script bash. Am învățat și alte instrumente din linia de comandă, cum ar fi Ping, Nslookup, Host și Dig, care pot fi utilizate pentru a efectua o căutare IP.