GNU/Linux >> Tutoriels Linux >  >> Linux

Utilitaire de ligne de commande Linux pour résoudre les noms d'hôte en utilisant d'abord /etc/hosts

Solution 1 :

Ceci est facilement réalisé avec getent :

getent hosts 127.0.0.1

getent effectuera des recherches pour tout type de données configurées dans nsswitch.conf .

Solution 2 :

Un outil qui fonctionnerait est getent . Vous pouvez donc utiliser getent hosts www.google.com , ou getent hosts localhost . Il récupérera les entrées des bases de données comme spécifié dans la configuration de votre commutateur de service de noms /etc/nsswitch.conf .

Pour des implémentations plus modernes, utilisez getent ahosts www.google.com qui obtiendra plusieurs résultats.

Solution 3 :

Utilisez getent ahosts , par exemple :

$ getent ahosts www.google.com | sed -n 's/ *STREAM.*//p'
216.58.210.196
2a00:1450:4006:803::2004

Vous obtiendrez toutes les adresses IPv4 et IPv6, via le résolveur glibc (donc en utilisant /etc/hosts d'abord, comme généralement configuré dans /etc/nsswitch.conf ).

Ne pas utiliser getent hosts , car il vous donnera des adresses IPv6 ou IPv4 (pas les deux), et le protocole choisi peut ne pas être celui qui ne fonctionne pas. En effet, les adresses IPv6 sont généralement privilégiées, mais à certains endroits, les données IPv6 sont filtrées (non supportées) par les routeurs.

Solution 4 :

Vous pouvez utiliser un wrapper gethostbyname() (obsolète) comme :

python -c 'import socket;print socket.gethostbyname("www.google.com")'

Ou un wrapper getaddrinfo() comme :

python -c 'import socket;print socket.getaddrinfo("www.google.com","http")[0][4][0]'

Notez que getaddrinfo renverra toutes les instances sous forme de liste. La dernière partie de la commande sélectionne uniquement le premier tuple. Cela peut également renvoyer des adresses IPv6.

Solution 5 :

resolveip va le faire.

Curieusement, cela fait partie des packages mysql-server sur RHEL et Ubuntu.


Linux
  1. Comment arrêter ou redémarrer Linux à l'aide de la ligne de commande

  2. Créer un fichier Hosts spécifique à l'utilisateur pour compléter /etc/hosts ?

  3. Comment redémarrer Linux en utilisant la ligne de commande

  4. Comprendre le fichier /etc/hosts sous Linux

  5. Désinstaller Node.JS à l'aide de la ligne de commande Linux ?

Comment créer un fichier sous Linux à l'aide d'un terminal/ligne de commande

Comment tester la vitesse d'Internet en utilisant la ligne de commande sous Linux

La bonne façon de modifier les fichiers /etc/passwd et /etc/group sous Linux

utilitaire de ligne de commande pour imprimer des statistiques de nombres sous Linux

Différence entre /etc/hosts et /etc/resolv.conf

Limite de caractères de la ligne de commande Linux