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 + curtScript 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:
- Creeu un fitxer bash amb qualsevol editor de text. Aquí utilitzaré l'editor Nano per crear un script anomenat iplookup.sh .$suo nanoscript.sh
- 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 - Un cop fet, utilitzeu Ctrl + O i Ctrl + X per desar i sortir del fitxer respectivament.
- 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.comLa sortida seria similar a aquesta:
De la mateixa manera, per resoldre l'adreça IP de yahoo.com, l'ordre seria:
$./iplookup.sh yahoo.comLa 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.