DNSサーバー上のドメインのリスト?


8

BIND DNSサーバー上のAおよびCNAMEレコードの完全なリストを取得する方法はありますか?

ゾーンファイルにアクセスできます。しかし、私のサーバーにはたくさんのゾーンファイルがあり、それらすべてを手動で確認するには時間がかかりすぎます。この情報を一覧表示するコマンドはありますか、それともスクリプトを自分で作成する必要がありますか?


おお!スクリプトではありません!
ウォンブル

回答:


9

grepすべてのゾーンファイルで使用するのではなく、次を使用します。

% rndc dumpdb -zones

これによりnamed_dump.db、おそらく/var/named/data(または同様の)と呼ばれるサーバーの信頼できるデータのダンプが作成されます。

このファイルは、すべての行が適用されるドメイン名で始まるため、元のゾーンファイルよりも解析が簡単です。未加工ゾーンファイルはおそらく省略されます。


2
パーフェクト、それがまさに私が必要としていたことです!私の場合、ファイルの名前はnamed_dump.dbでしたが。おかげで:)
chroder

4
Ubuntuの上では、で終わるように見える/var/cache/bind/named_dump.db
M01

1

あなたからのvar/named/dataDBを介して(または同等のディレクトリ)のgrep *適切な正規表現を持つファイル、のようなもの。:

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

最後の 'db。* `はすべてのdbファイルをグロブすることに注意してください。ゾーンファイルがあるすべてのディレクトリに対して繰り返します。


1
それがfindコマンドの目的です!/ var / named / data -name 'db。*' -print0 | xargs -0 grep '...'
Chris Jester-Young

-2

ドメインリストのiの場合。do dig -t axfr $ i @localhost; 終わった

最初にlocalhostからのゾーン転送を許可する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.