En este artículo, explicaremos cómo resolver un nombre de host/nombre de dominio en una dirección IPv4 e IPv6 en un script bash. Sin embargo, antes de continuar hacia la creación del script, revisemos algunos de los comandos que se pueden usar para resolver el nombre de host/nombre de dominio a una dirección IP.
Silbido
Ping es la herramienta más simple y incorporada que está disponible en casi todos los sistemas operativos. Se utiliza para verificar la accesibilidad de un host en una red. Sin embargo, también podemos usarla para encontrar la dirección IP en cualquier nombre de host/nombre de dominio. Use la siguiente sintaxis para encontrar la dirección IP de un nombre de host/nombre de dominio dirigido:
$ Ping Target-Host
Nslookup
Nslookup se usa ampliamente para resolver el nombre de host en una dirección IP. Para usar este comando para una búsqueda IP, use la siguiente sintaxis:
$ nslookup-host objetivo
Anfitrión
Se puede usar otra utilidad de línea de comandos "host" para encontrar la dirección IP en cualquier nombre de host/nombre de dominio. Para usar este comando, use la siguiente sintaxis:
$ Host Target-Host
Excavar
DIG es otra herramienta de línea de comando útil que se utiliza para consultar varios registros relacionados con DNS. Se puede usar para encontrar la dirección IP en cualquier nombre de host/nombre de dominio. Use el comando DIG de la siguiente manera para encontrar una dirección IP en un nombre de host/nombre de dominio específico.
$ Dig Target-Host +Short
Bash Script para resolver un nombre de host en una dirección IP
Para usar el script bash para una búsqueda IP, siga los pasos a continuación:
$ sudo nano guión.mierda
# Especificar el servidor DNS
dnsserver = "8.8.8.8 "
# función para obtener la dirección IP
función get_ipaddr
ip_address = ""
Registro # A y AAA para IPv4 e IPv6, respectivamente
# $ 1 representa el primer argumento
if [-n "$ 1"]; entonces
hostname = "$ 1"
if [-z "query_type"]; entonces
query_type = "A"
FI
# Use el comando de host para las operaciones de búsqueda de DNS
host -t $ query_type $ hostname &>/dev/null $ dnsserver
Si ["$?"-eq" 0 "]; entonces
# Obtener la dirección IP
ip_address = "$ (host -t $ query_type $ hostname $ dnsserver | awk '/ha.*dirección/imprimir $ nf; salida')"
demás
Salir 1
FI
demás
Salir 2
FI
# Mostrar IP
echo $ ip_address
hostname = "$ 1"
para la consulta en "a-ipv4" "aaaa-ipv6"; hacer
query_type = "$ (printf $ QUERY | CUT -D- -F 1)"
ipVersion = "$ (printf $ QUERY | CUT -D- -F 2)"
dirección = "$ (get_ipaddr $ hostname)"
Si ["$?"-eq" 0 "]; entonces
if [-n "$ dirección"]; entonces
echo "La dirección $ ipversion del nombre de host $ hostname es: $ dirección"
FI
demás
echo "ocurrió un error"
FI
hecho
ps ./guion.SH Target-Host
Por ejemplo, para resolver la dirección IP de "Google.com ”, el comando sería:
ps ./iPlookup.SH Google.comunicarse
La salida sería similar a esta:
Del mismo modo, para resolver la dirección IP de "Yahoo.com ”, el comando sería:
ps ./iPlookup.sh yahoo.comunicarse
La salida sería similar a esta:
Eso es todo lo que hay! En este artículo, hemos aprendido a resolver el nombre de host en una dirección IPv4 e IPv6 utilizando un script bash. También aprendimos algunas otras herramientas de línea de comandos como ping, nslookup, host y excaves que se pueden usar para realizar una búsqueda IP.