Liste der Domains auf dem DNS-Server?

8

Gibt es eine Möglichkeit, eine vollständige Liste der A- und CNAME-Einträge auf meinem BIND-DNS-Server abzurufen?

Ich habe Zugriff auf die Zonendateien. Aber auf meinem Server gibt es viele Zonendateien, und es würde zu lange dauern, alle von Hand durchzugehen. Gibt es einen Befehl, der diese Informationen auflistet, oder muss ich selbst ein Skript schreiben?

chroder
quelle
O nein! Kein Drehbuch!
womble

Antworten:

9

Verwenden Sie grepFolgendes, anstatt alle Zonendateien zu verwenden:

% rndc dumpdb -zones

Dadurch wird ein Speicherauszug der autorisierenden Daten des Servers erstellt named_dump.db, der wahrscheinlich in /var/named/data(oder ähnlich) aufgerufen wird .

Diese Datei ist einfacher zu analysieren als die ursprünglichen Zonendateien, da jede Zeile mit dem Domänennamen beginnt, für den sie gilt. Die Rohzonendateien werden wahrscheinlich abgekürzt.

Alnitak
quelle
2
Perfekt, genau das habe ich gebraucht! Obwohl die Datei in meinem Fall den Namen named_dump.db hatte. Danke :)
Chroder
4
Auf Ubuntu scheint es in/var/cache/bind/named_dump.db
m01
1

Von Ihrem var/named/data(oder einem gleichwertigen Verzeichnis) grep durch die db. * -Dateien mit einem geeigneten regulären Ausdruck, etwa:

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

Beachten Sie, dass die letzte 'db. * `Alle DB-Dateien enthält. Wiederholen Sie diesen Vorgang für jedes Verzeichnis, in dem sich Zonendateien befinden.

ConcernedOfTunbridgeWells
quelle
1
Dafür ist der Befehl find da! find / var / named / data -name 'db. *' -print0 | xargs -0 grep '...'
Chris Jester-Young
-2

für ich in meiner Domainliste; grabe -t axfr $ i @localhost; erledigt

Müssen zuerst Zonentransfers von localhost zulassen.

dmourati
quelle