Geekflare est soutenu par son public. Nous pouvons percevoir des commissions d'affiliation sur les liens d'achat présents sur ce site.
En Linux et Mise en réseau Dernière mise à jour : 25 septembre 2023
Partager sur :
Invicti Web Application Security Scanner - la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning™.

La commande HOST est un utilitaire simple de l’interface de ligne de commande qui permet d’effectuer une énumération DNS.

Dans le domaine de la recherche en sécurité et du piratage éthique, l’énumération DNS est la première phase de la collecte d’informations sur une cible. Il s’agit d’interroger tous les enregistrements DNS potentiels d’un serveur de noms de domaine, tels que les détails du serveur de noms, les adresses IP, les détails de l’échangeur de courrier, les TTL, etc.

Les attaquants peuvent utiliser ces informations énumérées par le DNS pour examiner les enregistrements du réseau interne.

Il existe de nombreux outils de reconnaissance DNS et d’énumération en ligne disponibles sur l’internet. Cependant, l’énumération DNS peut être réalisée facilement à l’aide d’un seul utilitaire de ligne de commande. Il s’agit de “HOST”.

Dans cet article, nous allons voir quelques exemples de commandes HOST utiles pour interroger les détails du DNS.

C’est parti !

L’installation

La commande “HOST” peut parfois ne pas être disponible par défaut sur une machine nouvellement installée. Par conséquent, vous devrez l’installer manuellement sur le système. Le processus d’installation est assez simple.

Toutes les commandes liées au DNS comme nslookup, dig et host sont contenues dans la bibliothèque “bind-utils”. Pour cela, tapez simplement la commande suivante dans le terminal.

sudo apt-get install dnsutils -y

Cette commande HOST fonctionne à la fois sur MAC et sur Linux.

Utilisation

Syntaxe générale : La commande générale “host” affiche la syntaxe générale de la commande et les arguments qui peuvent être utilisés avec elle, ainsi qu’une brève description de chaque argument.

Exemple de sortie :

┌──(geekflare㉿kali)-[~]
└─$ host 
Utilisation : host [-aCdilrTvVw] [-c class] [-N ndots] [-t type] [-W time]
 [-R number] [-m flag] [-p port] hostname [server]
 -a est équivalent à -v -t ANY
 -A est comme -a mais omet RRSIG, NSEC, NSEC3
 -c spécifie la classe de requête pour les données non IN
 -C compare les enregistrements SOA sur les serveurs de noms faisant autorité
 -d est équivalent à -v
 -l liste tous les hôtes d'un domaine, en utilisant AXFR
 -m définit l'indicateur de débogage de la mémoire (trace|record|usage)
 -N modifie le nombre de points autorisés avant la recherche de la racine
 -p spécifie le port du serveur à interroger
 -r désactive le traitement récursif
 -R spécifie le nombre de tentatives pour les paquets UDP
 -s une réponse SERVFAIL doit interrompre l'interrogation
 -t spécifie le type de requête
 -T active le mode TCP/IP
 -U active le mode UDP
 -v active la sortie verbeuse
 -V imprime le numéro de version et quitte
 -w spécifie d'attendre indéfiniment une réponse
 -W spécifie la durée d'attente d'une réponse
 -4 utilise le transport de requête IPv4 uniquement
 -6 utilise le transport de requête IPv6 uniquement

Pour trouver l’adresse IP d’un domaine

Pour trouver l’adresse IP d’un domaine particulier, il suffit de passer le nom du domaine cible comme argument après la commande host.

host Domaine cible

Exemple de sortie :

┌──(geekflare㉿kali)-[~]
└─$ host geekflare.com
geekflare.com a l'adresse 104.27.118.115
geekflare.com a l'adresse 104.27.119.115
geekflare.com a l'adresse IPv6 2606:4700:20::681b:7673
geekflare.com a l'adresse IPv6 2606:4700:20::681b:7773
geekflare.com est traité par 1 aspmx.l.google.com.
geekflare.com est traité par 5 alt1.aspmx.l.google.com.
geekflare.com est traité par 5 alt2.aspmx.l.google.com.
geekflare.com est traité par 10 alt3.aspmx.l.google.com.
geekflare.com est traité par 10 alt4.aspmx.l.google.com.

Pour une recherche complète en mode verbeux, utilisez l’option -a ou -v.

Exemple de sortie :

┌──(geekflare㉿kali)-[~]
└─$ host -a geekflare.com 
Trying "geekflare.com"
; ; ->>HEADER<<- opcode : QUERY, status : NOERROR, id : 24690
; ; flags : qr rd ra ; QUERY : 1, ANSWER : 2, AUTHORITY : 0, ADDITIONAL : 0

; ; QUESTION SECTION :
;geekflare.com.                 IN ANY

; ; ANSWER SECTION :
geekflare.com.          3789 IN HINFO "RFC8482" ""
geekflare.com.          3789 IN RRSIG HINFO 13 2 3789 20220307065004 20220305045004 34505 geekflare.com. HW0Lfr5HazPMaACSBHmFqs94usKUljX kONW/8Q2jwQ1QoAO9DEMjwDX rIQKODGtGnEizj2SzBF98mC2uQr7hQ==

A reçu 161 octets de 192.168.1.1#53 en 64 ms

Cette option (-a) est utilisée pour trouver tous les enregistrements de domaine et les informations sur les zones. Vous pouvez également noter l’adresse du serveur DNS local utilisé pour la recherche.

Pour effectuer une recherche inversée

Cette commande effectue une recherche inversée sur l’adresse IP et affiche le nom d’hôte ou le nom de domaine.

A titre d’exemple, la syntaxe serait la suivante :

host adresse-ip-cible

Exemple de sortie :

┌──(geekflare㉿kali)-[~]
└─$ host dnsleaktest.com 
dnsleaktest.com a l'adresse 23.239.16.110
                                                                                                              
┌───(geekflare㉿kali)-[~]
└─$ host 23.239.16.110 
110.16.239.23.in-addr.arpa domain name pointer li685-110.members.linode.com.

Si vous copiez-collez l’adresse du pointeur ( li685-110.members.linode.com.) dans le navigateur web, vous serez redirigé vers le site web.

Pour trouver les serveurs de noms de domaine

Utilisez l’option -t pour obtenir les serveurs de noms de domaine. Elle permet de spécifier le type de requête.

Ici, je passe l’argument -t pour trouver les serveurs de noms d’un nom de domaine spécifique.

L’enregistrement NS spécifie les serveurs de noms faisant autorité.

host -t ns domaine-cible

Exemple de sortie :

┌──(geekflare㉿kali)-[~]
└─$ host -t ns geekflare.com
geekflare.com serveur de noms olga.ns.cloudflare.com.
geekflare.com serveur de noms todd.ns.cloudflare.com.

Pour interroger certains serveurs de noms de domaine

Pour demander des détails sur un serveur de noms de domaine spécifique faisant autorité, utilisez la commande ci-dessous.

host target-domain [name-server]

Exemple de sortie :

┌──(root💀kali)-[/home/geekflare]
└─# host geekflare.com olga.ns.cloudflare.com.                                                           1 ⨯
Utilisation du serveur de domaine :
Nom : olga.ns.cloudflare.com.
Adresse : 173.245.58.137#53
Alias : 

geekflare.com a l'adresse 104.27.118.115
geekflare.com a l'adresse 104.27.119.115
geekflare.com a l'adresse IPv6 2606:4700:20::681b:7773
geekflare.com a l'adresse IPv6 2606:4700:20::681b:7673
geekflare.com mail is handled by 1 aspmx.l.google.com.
geekflare.com est traité par 5 alt1.aspmx.l.google.com.
geekflare.com est traité par 5 alt2.aspmx.l.google.com.
geekflare.com est traité par 10 alt3.aspmx.l.google.com.
geekflare.com est traité par 10 alt4.aspmx.l.google.com.

Pour trouver les enregistrements MX d’un domaine

Pour obtenir une liste des enregistrements MX (Mail Exchanger) d’un domaine, procédez comme suit

host -t MX domaine-cible

Exemple de sortie :

┌──(geekflare㉿kali)-[~]
└─$ host -t mx geekflare.com
geekflare.com le courrier est traité par 1 aspmx.l.google.com.
geekflare.com le courrier est traité par 5 alt1.aspmx.l.google.com.
le courrier de geekflare.com est pris en charge par 5 alt2.aspmx.l.google.com.
Le courrier de geekflare.com est pris en charge par 10 alt3.aspmx.l.google.com.
Le courrier de geekflare.com est pris en charge par 10 alt4.aspmx.l.google.com.

Cet enregistrement MX est responsable de l’acheminement d’un courriel vers un serveur de messagerie.

Pour trouver les enregistrements TXT d’un domaine

Pour obtenir une liste des enregistrements TXT d’un domaine (informations lisibles par l’homme sur un serveur de domaine), procédez comme suit

host -t txt domaine-cible

Exemple de sortie :

┌──(geekflare㉿kali)-[~]
└─$ host -t txt geekflare.com
geekflare.com descriptive text "google-site-verification=MRSwa454qay1S6pwwixzoiZl08kfJfkhiQIslhok3-A"
geekflare.com texte descriptif "google-site-verification=7QXbgb492Y5NVyWzSAgAScfUV3XIAGTKKZfdpCvcaGM"
geekflare.com texte descriptif "yandex-verification : 42f25bad396e79f5"
geekflare.com texte descriptif "v=spf1 include:_spf.google.com include:mailgun.org include:zcsend.net ~all"
geekflare.com texte descriptif "ahrefs-site-verification_8eefbd2fe43a8728b6fd14a393e2aff77b671e41615d2c1c6fc365ec33a4d6d0"
geekflare.com texte descriptif "ca3-7fbfaa573ba248ddb17a618e5b46ca01"

Pour trouver l’enregistrement SOA d’un domaine

Pour obtenir une liste des enregistrements SOA ( start of authority ) d’un domaine

host -t soa domaine-cible

Exemple de sortie :

┌──(geekflare㉿kali)-[~]
└─$ host -t soa geekflare.com
geekflare.com a SOA record olga.ns.cloudflare.com. dns.cloudflare.com. 2271966690 10000 2400 604800 3600

Utilisez la commande ci-dessous pour comparer les enregistrements SOA de tous les serveurs de noms faisant autorité pour une zone particulière (la partie spécifique de l’espace de noms DNS).

host -C domaine-cible

Exemple de sortie :

┌──(geekflare㉿kali)-[~]
└─$ host -C geekflare.com 2 ⨯
Nameserver 173.245.58.137 :
 geekflare.com a un enregistrement SOA olga.ns.cloudflare.com. dns.cloudflare.com. 2271966690 10000 2400 604800 3600

Pour trouver les enregistrements CNAME d’un domaine

CNAME signifie enregistrement de nom canonique. Cet enregistrement DNS est responsable de la redirection d’un domaine vers un autre, ce qui signifie qu’il fait correspondre le nom de domaine original à un alias.

Pour trouver les enregistrements DNS CNAME d’un domaine, utilisez la commande ci-dessous.

host -t cname domaine-cible

Exemple de sortie :

┌──(geekflare㉿kali)-[~]
└─$ host -t cname geekflare.com
geekflare.com n'a pas d'enregistrement CNAME

Si le nom de domaine cible possède des enregistrements CNAME, ils seront affichés après l’exécution de la commande.

Pour trouver des informations sur le TTL d’un domaine

TTL est l’abréviation de Time to live (temps de vie). Il fait partie du serveur de noms de domaine. Il est automatiquement défini par un serveur de noms faisant autorité pour chaque enregistrement DNS.

En d’autres termes, le TTL indique la durée pendant laquelle un serveur DNS met en cache un enregistrement avant d’actualiser les données. Utilisez la commande ci-dessous pour voir les informations TTL d’un nom de domaine.

host -v -t a domaine-cible

Exemple de sortie :

┌──(root💀kali)-[/home/geekflare]
└─# host -v -t a geekflare.com 1 ⨯
Trying "geekflare.com"
; ; ->>HEADER<<- opcode : QUERY, status : NOERROR, id : 2479
; ; flags : qr rd ra ; QUERY : 1, ANSWER : 2, AUTHORITY : 0, ADDITIONAL : 0

; ; QUESTION SECTION :
;geekflare.com.                 IN A

; ; ANSWER SECTION :
geekflare.com.          30 IN A 104.27.119.115
geekflare.com.          30 IN A 104.27.118.115

Reçu 63 octets de 192.168.1.1#53 en 60 ms

Conclusion

J’espère que cet article vous a aidé à apprendre quelques exemples de commandes hôte utiles pour interroger les détails DNS.

Vous pourriez également être intéressé par des outils en ligne gratuits pour vérifier les enregistrements DNS d’un nom de domaine.

  • Ashlin Jenifa
    Auteur
Merci à nos sponsors
D'autres bonnes lectures sur Linux
Alimentez votre entreprise
Quelques outils et services pour aider votre entreprise à se développer.
  • Invicti utilise le Proof-Based Scanning™ pour vérifier automatiquement les vulnérabilités identifiées et générer des résultats exploitables en quelques heures seulement.
    Essayez Invicti
  • Web scraping, proxy résidentiel, proxy manager, web unlocker, search engine crawler, et tout ce dont vous avez besoin pour collecter des données web.
    Essayez Brightdata
  • Monday.com est un système d'exploitation tout-en-un qui vous aide à gérer vos projets, vos tâches, votre travail, vos ventes, votre CRM, vos opérations, vos flux de travail et bien plus encore.
    Essayez le lundi
  • Intruder est un scanner de vulnérabilité en ligne qui détecte les faiblesses de votre infrastructure en matière de cybersécurité, afin d'éviter des violations de données coûteuses.
    Essayer l'intrus