Dans cet article, nous expliquerons comment résoudre un nom d'hôte/nom de domaine en 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 en une adresse IP.
Ping
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 l'accessibilité 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é :
$pinghôte-cible
Nslookup
Nslookup est largement utilisé pour résoudre le nom d'hôte en une adresse IP. Afin d'utiliser cette commande pour une recherche IP, utilisez la syntaxe suivante :
$hôte cible nslookup
Hôte
Un autre hôte utilitaire de ligne de commande 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
Tu
Dig est un autre outil de ligne de commande utile qui est utilisé pour interroger divers enregistrements liés au 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 rechercher une adresse IP par rapport à un nom d'hôte/nom de domaine spécifique.
$tuhôte-cible +courtScript Bash pour résoudre un nom d'hôte en une adresse IP
Afin d'utiliser le script bash pour une recherche IP, suivez les étapes ci-dessous :
- Créez un fichier bash à l'aide de n'importe quel éditeur de texte. Ici, j'utiliserai l'éditeur Nano pour créer un script nommé iplookup.sh .$sudo nanoscript.sh
- Copiez-collez les lignes suivantes dans votre fichier de script. Notez que, ici, dans ce script, je spécifie le serveur DNS public de Google pour la recherche IP. Vous pouvez spécifier n'importe quel autre serveur DNS selon votre environnement.# Spécifiez le serveur DNS
Serveur dns='8.8.8.8'
# fonction pour obtenir l'adresse IP
fonctionget_ipaddr{
adresse IP=''
# Enregistrement A et AAA pour IPv4 et IPv6, respectivement
# $1 représente le premier argument
si [ -n '$1' ];alors
nom d'hôte='$ {1}'
si [ -Avec 'type_requête' ];alors
type_requête='À'
être
# utiliser la commande host pour les opérations de recherche DNS
hôte-t ${query_type} ${nom d'hôte} &> /développeur/nul$ {dnsserver}
si [ '$?' -eq '0' ];alors
# obtenir l'adresse IP
adresse IP='$(host -t ${query_type} ${hostname} ${dnsserver}| awk '/has.*address/{print $NF; exit}')'
autre
sortir 1
être
autre
sortir 2
être
# IP d'affichage
chassèrent $adresse_ip
}
nom d'hôte='$ {1}'
pourmettre en doutedans 'A-IPv4' 'AAAA-IPv6';faire
type_requête='$(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
chassèrent 'Les${ipversion}adresse du nom d'hôte${nom d'hôte}est:$adresse'
être
autre
chassèrent 'Une erreur s'est produite'
être
terminé - Une fois cela fait, utilisez Ctrl+O et Ctrl+X pour enregistrer et quitter le fichier respectivement.
- Maintenant, pour trouver une adresse IP par rapport à un nom d'hôte/de domaine ciblé, exécutez le script en utilisant la syntaxe suivante :$./script.sh hôte-cible
Par exemple, pour résoudre l'adresse IP de google.com, la commande serait :
$./iplookup.sh google.comLa sortie ressemblerait à ceci :
De même, pour résoudre l'adresse IP de yahoo.com, la commande serait :
$./iplookup.sh yahoo.comLa sortie ressemblerait à ceci :
C'est tout ce qu'il y a à faire ! Dans cet article, nous avons appris à résoudre le nom d'hôte en 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.