Lorsque vous interrogez pour TOUT, vous obtiendrez une liste de tous les enregistrements à ce niveau mais pas en dessous.
# try this
dig google.com any
Cela peut renvoyer des enregistrements A, des enregistrements TXT, des enregistrements NS, des enregistrements MX, etc. si le nom de domaine est exactement "google.com". Cependant, il ne renverra pas d'enregistrements enfants (par exemple, www.google.com). Plus précisément, vous pouvez obtenir ces enregistrements s'ils existent. Le serveur de noms n'a pas à renvoyer ces enregistrements s'il choisit de ne pas le faire (par exemple, pour réduire la taille de la réponse).
Un AXFR est un transfert de zone et est probablement ce que vous voulez. Cependant, ceux-ci sont généralement limités et ne sont disponibles que si vous contrôlez la zone. Vous effectuerez généralement un transfert de zone directement à partir du serveur faisant autorité (le @ ns1.google.com ci-dessous) et souvent à partir d'un serveur de noms qui peut ne pas être publié (un serveur de noms furtif).
# This will return "Transfer failed"
dig @ns1.google.com google.com axfr
Si vous avez le contrôle de la zone, vous pouvez la configurer pour obtenir des transferts protégés par une clé TSIG. Il s'agit d'un secret partagé que le client peut envoyer au serveur pour autoriser le transfert.
J'ai amélioré la réponse de Josh . J'ai remarqué que
dig
ne montre que les entrées déjà présentes dans le cache du serveur de noms interrogé, il est donc préférable d'extraire un serveur de noms faisant autorité de la SOA (plutôt que de s'appuyer sur le serveur de noms par défaut). J'ai également désactivé le filtrage des adresses IP génériques car je suis généralement plus intéressé par l'exactitude de la configuration.Le nouveau script prend un
-x
argument pour la sortie développée et un-s NS
argument pour choisir un serveur de noms spécifique:dig -x example.com
la source
dig -t txt +nocmd $NS "$DOM" +noall +answer
(et modifiez le$DOM
) pour inspecter les enregistrements TXT d'un domaine.En l'absence de la possibilité de faire des transferts de zone, je l' ai écrit ce petit script bash,
dg
:Maintenant, j'utilise
dg example.com
pour obtenir une belle liste propre d'enregistrements DNS, oudg example.com x
pour inclure un tas d'autres sous-domaines populaires.grep -vE "${wild_ips}"
filtre les enregistrements qui pourraient être le résultat d'une entrée DNS générique telle que* 10800 IN A 1.38.216.82
. Sinon, une entrée générique donnerait l'impression qu'il y avait des enregistrements pour chacun$COMMON_SUBDOMAN
.Remarque: cela repose sur des
ANY
requêtes, qui sont bloquées par certains fournisseurs DNS tels que CloudFlare .la source
dig -t txt +nocmd "$1" +noall +answer
(et modifier en"*.$1"
etc.) pour inspecter les enregistrements TXT d'un domaine.host -a
fonctionne bien, similaire àdig any
.PAR EXEMPLE:
la source
host -a
veut pas dire que ce n'est pas une commande utile, cela ne fait tout simplement pas ce que l'OP recherche.Un transfert de zone est le seul moyen de s'assurer que vous disposez de tous les enregistrements de sous-domaine. Si le DNS est correctement configuré, vous ne devriez normalement pas être en mesure d'effectuer un transfert de zone externe.
Le projet scans.io dispose d'une base de données d'enregistrements DNS qui peuvent être téléchargés et recherchés pour les sous-domaines. Cela nécessite le téléchargement des 87 Go de données DNS, vous pouvez également essayer la recherche en ligne des données sur https://hackertarget.com/find-dns-host-records/
la source
Pour les fenêtres:
Vous devrez peut-être vérifier l'état des enregistrements DNS de vos domaines, ou vérifier les serveurs de noms pour voir quels enregistrements les serveurs extraient.
Lancez l'invite de commande Windows en accédant à Démarrer> Invite de commandes ou via Exécuter> CMD.
Tapez NSLOOKUP et appuyez sur Entrée. Le serveur par défaut est défini sur votre DNS local, l'adresse sera votre adresse IP locale.
Définissez le type d'enregistrement DNS que vous souhaitez rechercher en tapant
set type=##
où ## est le type d'enregistrement, puis appuyez sur Entrée. Vous pouvez utiliser ANY, A, AAAA, A + AAAA, CNAME, MX, NS, PTR, SOA ou SRV comme type d'enregistrement.Saisissez maintenant le nom de domaine que vous souhaitez interroger, puis appuyez sur Entrée. Dans cet exemple, nous utiliserons Managed.com.
NSLOOKUP renverra maintenant les entrées d'enregistrement pour le domaine que vous avez entré.
Vous pouvez également modifier les serveurs de noms que vous interrogez. Ceci est utile si vous vérifiez les enregistrements avant que DNS ne se soit entièrement propagé. Pour changer le serveur de type de serveur de noms [serveur de noms]. Remplacez [serveur de noms] par les serveurs de noms que vous souhaitez utiliser. Dans cet exemple, nous les définirons comme NSA.managed.com.
Une fois modifié, modifiez le type de requête (étape 3) si nécessaire, puis entrez un nouveau domaine (étape 4.)
Pour Linux:
1) Vérifier les enregistrements DNS à l'aide de la commande Dig Dig représente les informations de domaine groper est un outil flexible pour interroger les serveurs de noms DNS. Il effectue des recherches DNS et affiche les réponses renvoyées par le (s) serveur (s) de noms interrogés. La plupart des administrateurs DNS utilisent dig pour résoudre les problèmes DNS en raison de sa flexibilité, de sa facilité d'utilisation et de la clarté de la sortie. D'autres outils de recherche ont tendance à avoir moins de fonctionnalités que creuser.
2) Vérifier les enregistrements DNS à l'aide de la commande NSlookup Nslookup est un programme permettant d'interroger les serveurs de noms de domaine Internet. Nslookup a deux modes interactifs et non interactifs.
Le mode interactif permet à l'utilisateur d'interroger les serveurs de noms pour obtenir des informations sur divers hôtes et domaines ou d'imprimer une liste d'hôtes dans un domaine.
Le mode non interactif est utilisé pour imprimer uniquement le nom et les informations demandées pour un hôte ou un domaine. C'est un outil d'administration réseau qui les aidera à vérifier et à résoudre les problèmes liés au DNS.
3) Vérifier les enregistrements DNS à l'aide de l'hôte La commande hôte est un utilitaire simple pour effectuer des recherches DNS. Il est normalement utilisé pour convertir les noms en adresses IP et vice versa. Lorsqu'aucun argument ou option n'est donné, l'hôte imprime un bref résumé de ses arguments et options de ligne de commande.
la source
Ce que vous voulez s'appelle un transfert de zone . Vous pouvez demander un transfert de zone en utilisant
dig -t axfr
.Une zone est un domaine et tous les domaines situés en dessous qui ne sont pas délégués à un autre serveur.
Notez que les transferts de zone ne sont pas toujours pris en charge. Ils ne sont pas utilisés dans la recherche normale, mais uniquement dans la réplication des données DNS entre les serveurs; mais il existe d'autres protocoles qui peuvent être utilisés pour cela (comme rsync sur ssh), il peut y avoir un risque de sécurité lié à l'exposition des noms, et les réponses de transfert de zone coûtent plus cher à générer et à envoyer que les recherches DNS habituelles.
la source
Il n'existe pas de moyen simple d'obtenir tous les enregistrements DNS d'un domaine en une seule instance. Vous ne pouvez afficher que certains enregistrements, par exemple, si vous voulez voir un enregistrement A pour un certain domaine, vous pouvez utiliser la commande: creuser un (type d'enregistrement) domain.com. C'est la même chose pour tous les autres types d'enregistrements que vous souhaitez voir pour ce domaine.
Si vous n'êtes pas familier avec l'interface de ligne de commande, vous pouvez également utiliser un site tel que mxtoolbox.com. Wich est un outil très pratique pour obtenir des enregistrements d'un domaine.
J'espère que cela répond à votre question.
la source