Elenco dei domini sul server DNS?


8

C'è un modo per ottenere un elenco completo dei record A e CNAME sul mio server DNS BIND?

Ho accesso ai file di zona. Ma sul mio server ci sono molti file di zona, e ci vorrebbe troppo tempo per ripassarli tutti a mano. Esiste un comando che elenca queste informazioni o dovrò scrivere uno script da solo?


Oh no! Non una sceneggiatura!
womble

Risposte:


9

Anziché utilizzare grepsu tutti i file di zona, utilizzare:

% rndc dumpdb -zones

Questo creerà un dump dei dati autorevoli del server chiamato named_dump.db, probabilmente in /var/named/data(o simile).

Questo file è più facile da analizzare rispetto ai file di zona originali perché ogni riga inizia con il nome di dominio a cui si applica. I file della zona grezza sono probabilmente abbreviati.


2
Perfetto, è esattamente quello di cui avevo bisogno! Anche se il file è stato chiamato named_dump.db nel mio caso. Grazie :)
Chroder

4
Su Ubuntu sembra finire in/var/cache/bind/named_dump.db
m01

1

Dalla tua var/named/datagrep (o directory equivalente) attraverso i file db. * Con un'espressione regolare appropriata, qualcosa del tipo:

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

Nota che l'ultimo 'db. * `Rimanda tutti i file db. Ripeti l'operazione per ogni directory in cui hai i file di zona.


1
Ecco a cosa serve il comando find! find / var / named / data -name 'db. *' -print0 | xargs -0 grep '...'
Chris Jester-Young,

-2

per i nel mio elenco di domini; dig -t axfr $ i @localhost; fatto

Devi prima consentire i trasferimenti di zona da localhost.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.