Î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ă + scurtScript 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:
- 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
- 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 - După ce ați terminat, utilizați Ctrl + O și Ctrl + X pentru a salva și a ieși din fișier, respectiv.
- 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.comRezultatul ar fi similar cu acesta:
În mod similar, pentru a rezolva adresa IP a yahoo.com, comanda ar fi:
$./iplookup.sh yahoo.comRezultatul 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.