In questo articolo, spiegheremo come risolvere un nome host/dominio a un indirizzo IPv4 e IPv6 in uno script bash. Tuttavia, prima di procedere verso la creazione dello script, esaminiamo alcuni dei comandi che possono essere utilizzati per risolvere il nome host/dominio su un indirizzo IP.
Ping
Il ping è lo strumento più semplice e integrato disponibile su quasi tutti i sistemi operativi. Viene utilizzato per verificare la raggiungibilità di un host in una rete. Tuttavia, possiamo anche usarlo per trovare l'indirizzo IP rispetto a qualsiasi nome host/nome di dominio. Utilizzare la seguente sintassi per trovare l'indirizzo IP di un nome host/dominio mirato:
$ ping target-host
Nslookup
Nslookup è ampiamente utilizzato per risolvere il nome host su un indirizzo IP. Per utilizzare questo comando per una ricerca IP, utilizzare la seguente sintassi:
$ nslookup target-host
Ospite
Un altro "host" dell'utilità della linea di comando può essere utilizzato per trovare l'indirizzo IP rispetto a qualsiasi nome host/nome di dominio. Per utilizzare questo comando, utilizzare la seguente sintassi:
$ host host host
Scavare
Dig è un altro utile strumento di riga di comando che viene utilizzato per interrogare vari record relativi al DNS. Può essere utilizzato per trovare l'indirizzo IP rispetto a qualsiasi nome host/nome di dominio. Usa il comando Dig nel modo seguente per trovare un indirizzo IP rispetto a un nome host/dominio specifico.
$ dig dar target-host +short
Bash Script per risolvere un nome host a un indirizzo IP
Per utilizzare lo script bash per una ricerca IP, seguire i passaggi seguenti:
$ sudo nano script.sh
# Specifica il server DNS
dnsserver = "8.8.8.8 "
# Funzione per ottenere l'indirizzo IP
funzione get_ipaddr
ip_address = ""
# A e AAA Record per IPv4 e IPv6, rispettivamente
# $ 1 sta per il primo argomento
if [-n "$ 1"]; Poi
hostname = "$ 1"
if [-z "query_type"]; Poi
query_type = "a"
fi
# Usa il comando host per le operazioni di ricerca DNS
host -t $ query_type $ hostname &>/dev/null $ dnsserver
Se ["$?"-eq" 0 "]; allora
# Ottieni indirizzo IP
ip_address = "$ (host -t $ query_type $ hostname $ dnsserver | awk '/ha.*indirizzo/print $ nf; Uscita')"
altro
Uscita 1
fi
altro
Uscita 2
fi
# Visualizza IP
echo $ ip_address
hostname = "$ 1"
per query in "A-IPv4" "AAAA-IPV6"; Fare
query_type = "$ (printf $ query | taglio -d- -f 1)"
ipversion = "$ (printf $ query | cut -d- 2)"
indirizzo = "$ (get_ipaddr $ hostname"
Se ["$?"-eq" 0 "]; allora
if [-n "$ indirizzo"]; Poi
Echo "The $ iPversion IndiRism of the Hostname $ hostname è: $ indirizzo"
fi
altro
Echo "si è verificato un errore"
fi
Fatto
$ ./script.SH Target-host
Ad esempio, per risolvere l'indirizzo IP di "Google.com ", il comando sarebbe:
$ ./iplookup.Sh Google.com
L'output sarebbe simile a questo:
Allo stesso modo, per risolvere l'indirizzo IP di "Yahoo.com ", il comando sarebbe:
$ ./iplookup.sh yahoo.com
L'output sarebbe simile a questo:
Questo è tutto ciò che c'è! In questo articolo, abbiamo imparato a risolvere il nome host su un indirizzo IPv4 e IPv6 utilizzando uno script bash. Abbiamo anche imparato alcuni altri strumenti di comando come ping, nslookup, host e dig che possono essere utilizzati per eseguire una ricerca IP.