Daftar domain pada server DNS?

8

Apakah ada cara untuk mendapatkan daftar lengkap catatan A dan CNAME di server DNS BIND saya?

Saya memiliki akses ke file zona. Tetapi di server saya ada banyak file zona, dan itu akan memakan waktu terlalu lama untuk membahas semuanya dengan tangan. Apakah ada perintah yang mencantumkan info ini atau apakah saya harus menulis skrip sendiri?

chroder
sumber
O noes! Bukan naskah!
womble

Jawaban:

9

Daripada digunakan greppada semua file zona, gunakan:

% rndc dumpdb -zones

Ini akan membuat dump data otoritatif server yang disebut named_dump.db, mungkin di /var/named/data(atau serupa).

File ini lebih mudah diurai daripada file zona asli karena setiap baris dimulai dengan nama domain yang berlaku. File zona mentah mungkin disingkat.

Alnitak
sumber
2
Sempurna, itulah yang saya butuhkan! Meskipun file itu bernama named_dump.db dalam kasus saya. Terima kasih :)
chroder
4
Di Ubuntu sepertinya berakhir pada/var/cache/bind/named_dump.db
m01
1

Dari var/named/data(atau direktori setara) Anda, lihat melalui file db. * Dengan ekspresi reguler yang sesuai, seperti:

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

Perhatikan bahwa 'db. * `Yang terakhir menggumpal semua file db. Ulangi untuk setiap direktori tempat Anda menyimpan file zona.

ConcernedOfTunbridgeWells
sumber
1
Untuk itulah perintah find! find / var / named / data -name 'db. *' -print0 | xargs -0 grep '...'
Chris Jester-Young
-2

untuk saya dalam daftar domain saya; lakukan dig -t axfr $ i @ localhost; selesai

Harus mengizinkan transfer zona dari localhost terlebih dahulu.

dmourati
sumber