Dans cet article, nous expliquerons comment résoudre un nom d'hôte / nom de domaine à une adresse IPv4 et IPv6 dans un script bash. Cependant, avant de procéder à la création du script, passons en revue certaines des commandes qui peuvent être utilisées pour résoudre le nom d'hôte / nom de domaine à une adresse IP.
Ping-ping
Le ping est l'outil le plus simple et le plus intégré disponible sur presque tous les systèmes d'exploitation. Il est utilisé pour vérifier la remise de l'accouchement d'un hôte dans un réseau. Cependant, nous pouvons également l'utiliser pour trouver l'adresse IP par rapport à n'importe quel nom d'hôte / nom de domaine. Utilisez la syntaxe suivante pour trouver l'adresse IP d'un nom d'hôte / nom de domaine ciblé:
$ Ping Target-Host
Nslookup
NSlookup est largement utilisé pour résoudre le nom d'hôte à une adresse IP. Pour utiliser cette commande pour une recherche IP, utilisez la syntaxe suivante:
$ nslookup cible-host
Héberger
Un autre utilitaire de ligne de commande «hôte» peut être utilisé pour trouver une adresse IP par rapport à n'importe quel nom d'hôte / nom de domaine. Pour utiliser cette commande, utilisez la syntaxe suivante:
$ hôte cible-hôte
Creuser
DIG est un autre outil de ligne de commande utile qui est utilisé pour interroger divers enregistrements liés à DNS. Il peut être utilisé pour trouver une adresse IP par rapport à n'importe quel nom d'hôte / nom de domaine. Utilisez la commande Dig de la manière suivante pour trouver une adresse IP par rapport à un nom d'hôte / nom de domaine spécifique.
$ Dig Target-Host + Short
Script bash pour résoudre un nom d'hôte sur une adresse IP
Afin d'utiliser le script bash pour une recherche IP, suivez les étapes ci-dessous:
$ sudo nano script.shot
# Spécifiez le serveur DNS
dnsserver = "8.8.8.8 "
# Fonction pour obtenir l'adresse IP
fonction get_ipaddr
ip_address = ""
Record # A et AAA pour IPv4 et IPv6, respectivement
# 1 $ signifie premier argument
si [-n "1 $"]; alors
hostname = "$ 1"
si [-z "query_type"]; alors
query_type = "a"
Fi
# Utilisez la commande hôte pour les opérations de recherche DNS
host -t $ query_type $ hostname &> / dev / null $ dnsserver
Si ["$?"-eq" 0 "]; alors
# Obtenez l'adresse IP
ip_address = "$ (host -t $ query_type $ hostname $ dnsserver | awk '/ a.* Adresse / print $ nf; sortie')"
autre
sortie 1
Fi
autre
sortie 2
Fi
# Afficher IP
echo $ ip_address
hostname = "$ 1"
pour la requête dans "a-ipv4" "aaaa-ipv6"; faire
query_type = "$ (printf $ query | cut -d- -f 1)"
ipversion = "$ (printf $ query | cut -d- -f 2)"
adresse = "$ (get_ipaddr $ hostname)"
Si ["$?"-eq" 0 "]; alors
si [-n "$ adresse"]; alors
Echo "L'adresse $ ipversion du nom d'hôte $ hostname est: $ adresse"
Fi
autre
écho "une erreur s'est produite"
Fi
fait
$ ./scénario.sh cible-hôte
Par exemple, pour résoudre l'adresse IP de "Google.com », la commande serait:
$ ./ iplookup.sh Google.com
La sortie serait similaire à cela:
De même, pour résoudre l'adresse IP de «Yahoo.com », la commande serait:
$ ./ iplookup.sh yahoo.com
La sortie serait similaire à cela:
C'est tout ce qu'il y a! Dans cet article, nous avons appris à résoudre le nom d'hôte vers une adresse IPv4 et IPv6 à l'aide d'un script bash. Nous avons également appris d'autres outils de ligne de commande tels que Ping, NSlookup, Host et DIG qui peuvent être utilisés pour effectuer une recherche IP.