Linux / Commande host : rechercher les noms, adresses et enregistrements DNS
host effectue des recherches DNS simples : retrouver les adresses associées à un nom ou demander le nom inverse d’une adresse IP. Il permet aussi de choisir un type d’enregistrement et un serveur DNS. Une réponse DNS décrit des données publiées, sans prouver que la machine ou son service est joignable.
Rechercher les adresses ou un type précis
DNS signifie Domain Name System. La syntaxe de host fourni par BIND 9 place le serveur facultatif à la fin, après le nom ou l’adresse :
host [OPTIONS] NOM_OU_ADRESSE [SERVEUR_DNS]
host example.com
host -t A example.com
host -t AAAA example.com
host -t MX example.com
host -t TXT example.com
La première commande demande les types sélectionnés par défaut par la version installée ; elle n’inventorie pas toute la zone DNS. Pour un contrôle reproductible, -t A demande les adresses IPv4, -t AAAA les adresses IPv6, -t MX les échangeurs de courrier et -t TXT les données textuelles. Un même nom peut avoir plusieurs valeurs et la sortie comporter plusieurs lignes.
Exemple fictif du format d’une réponse A :
example.com has address 192.0.2.10
192.0.2.10 est une adresse de documentation, pas l’adresse attendue du domaine. La présence d’une réponse A ne garantit ni une réponse AAAA ni un serveur web opérationnel. Avec MX, lisez la préférence et le nom de serveur ; une préférence numérique plus faible est privilégiée.
Consultez man host et host -V pour la version installée. Les paquets fournissant cet outil et ses options peuvent varier selon la distribution. host et hostname sont différents : hostname concerne le nom de la machine locale, tandis que host interroge DNS.
Choisir le serveur et distinguer transport et type
Sans serveur explicite, host utilise normalement les serveurs DNS de /etc/resolv.conf. Le dernier argument permet d’en choisir un pour cette commande :
host -t A example.com 192.0.2.53
host -4 -t AAAA example.com
Dans le premier exemple, remplacez 192.0.2.53 par un serveur autorisé de votre environnement. Ce choix n’édite pas la configuration DNS du système. Comparez des serveurs en gardant le même nom, le même type et des conditions proches ; un cache ou une vue interne peut expliquer une réponse différente.
Le second exemple utilise IPv4 pour transporter la requête DNS, tout en demandant un enregistrement AAAA contenant une adresse IPv6. -4 et -6 sélectionnent le transport vers le serveur, pas la famille des adresses recherchées. Pour demander uniquement A ou AAAA, utilisez -t avec le type voulu.
| Option ou argument | Rôle |
|---|---|
| -t TYPE | Choisir le type d’enregistrement demandé. |
| -v | Afficher une sortie plus détaillée des échanges. |
| -a | Demander normalement ANY avec une sortie détaillée ; ce n’est pas un inventaire complet garanti. |
| -4 / -6 | Limiter la famille utilisée pour le transport DNS. |
| Serveur en dernier argument | Interroger ce serveur au lieu du choix par défaut. |
Comprendre la recherche inverse
host 192.0.2.10
Quand la destination de recherche est une adresse IPv4 ou IPv6, host effectue normalement une recherche inverse de type PTR, Pointer. L’adresse fictive ci-dessus ne possède pas ici de réponse garantie : remplacez-la par celle que vous devez examiner.
Le propriétaire d’un nom et l’administrateur de sa zone inverse peuvent être différents. Un nom qui possède un A vers une adresse n’obtient donc pas automatiquement un PTR à cette adresse. L’absence de réponse inverse ne signifie pas que l’adresse est inutilisée, et un PTR ne prouve pas l’identité d’un service ni son accessibilité.
Pour une comparaison utile, séparez le nom demandé, le type PTR ou A/AAAA et le serveur qui a répondu. Une erreur de serveur ou un délai expiré ne constitue pas une preuve d’absence d’enregistrement.
Analyser une absence de résultat sans surinterpréter -a
Pour examiner plus de contexte sur une requête précise :
host -v -t A example.com
-a est normalement équivalent à -v -t ANY. Malgré son nom « all », ANY ne garantit pas tous les types ou toutes les valeurs d’un nom. Des serveurs fournissent délibérément une réponse réduite ; la RFC 8482 sur les réponses minimales aux requêtes ANY décrit ce comportement. Demandez les types nécessaires séparément.
- Vérifiez le nom complet et le type recherchés, puis le serveur utilisé. Les règles de recherche de noms courts peuvent ajouter un suffixe ; un nom complet terminé par un point évite cette ambiguïté lorsque vous connaissez le nom exact.
- Distinguez un nom déclaré inexistant, l’absence d’un type particulier, une erreur de traitement et une absence de réponse. La commande dig pour lire le statut et les sections DNS permet d’aller plus loin.
- Si la réponse diffère de celle de l’application, examinez ses caches, ses sources de noms et son éventuel proxy. La consultation des sources NSS avec getent aide à comparer la résolution du système.
- Contrôlez ensuite le service avec son propre protocole. Une réponse DNS correcte est une étape du diagnostic, pas une validation complète de connexion.
Le manuel officiel host de BIND 9 précise les requêtes par défaut, les options de transport et la recherche de noms.




