Lista de dominios en el servidor DNS?

8

¿Hay alguna manera de obtener una lista completa de registros A y CNAME en mi servidor DNS BIND?

Tengo acceso a los archivos de zona. Pero en mi servidor hay muchos archivos de zona, y tomaría demasiado tiempo revisarlos a mano. ¿Hay un comando que enumere esta información o tendré que escribir un script yo mismo?

chroder
fuente
¡Oh no! No es un guion!
womble

Respuestas:

9

En lugar de usar grepen todos los archivos de zona, use:

% rndc dumpdb -zones

Esto creará un volcado de los datos autorizados del servidor llamados named_dump.db, probablemente en /var/named/data(o similar).

Este archivo es más fácil de analizar que los archivos de zona originales porque cada línea comienza con el nombre de dominio al que se aplica. Los archivos de zona sin procesar probablemente se abrevian.

Alnitak
fuente
2
¡Perfecto, eso es exactamente lo que necesitaba! Aunque el archivo se llamaba named_dump.db en mi caso. Gracias :)
chroder
44
En Ubuntu parece terminar en/var/cache/bind/named_dump.db
m01
1

Desde su var/named/data(o directorio equivalente) grep a través de los archivos db. * Con una expresión regular apropiada, algo como:

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

Tenga en cuenta que el 'db. *' Final engloba todos los archivos db. Repita para cada directorio en el que tenga archivos de zona.

Preocupado por TunbridgeWells
fuente
1
¡Para eso es el comando find! find / var / named / data -name 'db. *' -print0 | xargs -0 grep '...'
Chris Jester-Young
-2

para i en mi lista de dominios; hacer dig -t axfr $ i @localhost; hecho

Primero debe permitir las transferencias de zona desde localhost.

dmourati
fuente