objectif
Vérifier la résolution DNS d’un domaine, inspecter les enregistrements, choisir le résolveur interrogé et suivre la délégation.
code minimal
# IPv4 et IPv6 en sortie compacte
dig +short data.pm A
dig +short data.pm AAAA
utilisation
# vérifier le CNAME et la cible finale (chaîne)
dig +noall +answer data.pm CNAME
dig +noall +answer $(dig +short data.pm CNAME) A
# interroger un résolveur spécifique (Cloudflare, Google, serveur interne)
dig @1.1.1.1 data.pm A
dig @8.8.8.8 data.pm A
dig @10.0.0.53 intranet.local A
# obtenir TTL, flags et section ANSWER lisible
dig data.pm A +nocmd +noquestion +authority +answer
# records courants
dig +short data.pm TXT
dig +short data.pm MX
dig +short _sip._tcp.data.pm SRV
# vérifier le SOA et les NS d'une zone
dig +noall +answer data.pm SOA
dig +noall +answer data.pm NS
# suivre la délégation depuis la racine (trace)
dig +trace data.pm
# vérifier la résolution inverse (PTR) d'une IP
dig +short -x 93.184.216.34
# forcer TCP (pare-feu strict, grosses réponses)
dig +tcp data.pm TXT
# mesurer le temps de réponse
dig data.pm A +stats | grep 'Query time'
variante(s) utile(s)
# forcer IPv4 ou IPv6 pour la requête
dig -4 data.pm A
dig -6 data.pm AAAA
# afficher toutes les sections de manière concise
dig data.pm ANY +noall +answer
# vérifier DNSSEC (AD = Authenticated Data côté résolveur)
dig data.pm A +dnssec +multi +noall +answer
# récupérer le SPF (souvent dans TXT)
dig +short data.pm TXT | grep -i 'v=spf1'
# comparer la vue entre deux résolveurs (cache/CDN)
for s in 1.1.1.1 8.8.8.8 9.9.9.9; do
printf '%-8s ' "$s"; dig @"$s" +short data.pm CNAME; done
# vérifier un enregistrement spécifique à un sous-domaine
dig +noall +answer api.eu.data.pm A
# script: alerte si pas de réponse A dans 5s (timeout et tentative)
domain="data.pm"
dig +time=5 +tries=2 +short "$domain" A | grep -qE '^[0-9]+' || { echo "DNS KO pour $domain" >&2; exit 1; }
notes
+shortdonne une sortie exploitable en scripts; utilisez+noall +answerpour une vue lisible sans bruit.- précisez
@serveurpour isoler un problème (résolveur local vs public vs autoritaire). +traceinterroge récursivement depuis la racine; utile pour diagnostiquer la délégation et le glue.- forcez
+tcpsi les réponses sont tronquées (TC=1) ou si UDP est filtré. - la résolution inverse (
-x) dépend de la zone PTR (in-addr.arpa/ip6.arpa) publiée par le propriétaire du bloc IP.