Liste des domaines sur le serveur DNS?


8

Existe-t-il un moyen d'obtenir une liste complète des enregistrements A et CNAME sur mon serveur DNS BIND?

J'ai accès aux fichiers de zone. Mais sur mon serveur, il y a beaucoup de fichiers de zone, et il faudrait trop de temps pour les parcourir tous à la main. Existe-t-il une commande qui répertorie ces informations ou devrai-je écrire un script moi-même?


O non! Pas un script!
womble

Réponses:


9

Plutôt que d'utiliser grepsur tous les fichiers de zone, utilisez:

% rndc dumpdb -zones

Cela créera un vidage des données faisant autorité du serveur appelées named_dump.db, probablement dans /var/named/data(ou similaire).

Ce fichier est plus facile à analyser que les fichiers de zone d'origine car chaque ligne commence par le nom de domaine auquel elle s'applique. Les fichiers de zone brute sont probablement abrégés.


2
Parfait, c'est exactement ce dont j'avais besoin! Bien que le fichier ait été nommé named_dump.db dans mon cas. Merci :)
chroder

4
Sur Ubuntu, il semble finir/var/cache/bind/named_dump.db
m01

1

Depuis votre var/named/data(ou un répertoire équivalent) grep à travers les fichiers db. * Avec une expression régulière appropriée, quelque chose comme:

grep '\(.  *A   *[0-9][0-9]*\)\|\(..*CNAME..*\)' db.*

Notez que le fichier final 'db. * `Regroupe tous les fichiers db. Répétez l'opération pour chaque répertoire dans lequel vous avez des fichiers de zone.


1
C'est à cela que sert la commande find! find / var / named / data -name 'db. *' -print0 | xargs -0 grep '...'
Chris Jester-Young

-2

pour i dans ma liste de domaines; do dig -t axfr $ i @localhost; terminé

Vous devez d'abord autoriser les transferts de zone depuis l'hôte local.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.