web-dev-qa-db-ja.com

ワイルドカードを使用したDNS検索?

nslookupDigのようなものは、名前に含まれているものに基づいて検索する機能を提供します...ワイルドカード検索などのようなものですか?

ヘルプデスクチームのために、GUIラッパーを使用して小さなスクリプトを作成しようとしています。理想的には、ユーザーの姓(DNSレコードに常に存在するもの)を検索できるようにしてから、プルダウンから選択可能なオプションを入力します。

nslookup *miller*に相当するものを効果的に使用する方法を見つけることができません...元に戻すのは素晴らしいことです

Name: sf-jacobmiller.localdomain.com
Address: 10.10.10.121

Name: sf-justinmiller.localdomain.com
Address: 10.10.10.144

..次に、解析してプルダウンから選択できるようにします。

私はまだldapsearchで何が利用できるかを調べていません。私の唯一の要件は、これがOSXに組み込まれていて、他に何もインストールする必要がないということです。それ以外の場合は、提供できるソリューションを受け入れます。ありがとう

8
TryTryAgain

ゾーン転送を使用して、ゾーン内のエントリの完全なリストを取得できます。 DNSサーバーの承認されたシステムでこれを許可する必要があります。

それが完了したら、転送を実行して結果をgrepできます。

Dig axfr localdomain.com | grep -i miller
11
Shane Madden

DNSサーバーに特定のレコードがある場合にのみ問い合わせることができます。したがって、DNSにそのようなツールはありません。

編集する

ゾーン転送が利用可能な場合はもちろん可能です。

6

ネームサーバーでは、設計上、ゾーンを検索したり、権限のあるゾーンを照会したりすることはできません。攻撃ベクトルを減らす明らかな理由(名前がわからない場合、ホストにHTTP/1.1リクエストを送信できない)を超えて、これには非常に正当な理由があります。ゾーン自体にワイルドカードを含めることができるため、そのようなゾーンのすべてのホストについては、ゼロで除算するようなものです。

レコードを検索したいネームサーバーを運用している場合は、ローカルのネームサーバーにゾーン転送して直接レコードを検索できます。ローカルネームサーバーは異なる応答をしないため、テキストレコードは、転送される形式にかかわらず解析する必要があります。

6
dartonw

チェック済みの回答に同意すると、ゾーン転送を許可されていないユーザーにとってはforループが代わりになる可能性があると思いました。 IP範囲がわかっている場合:

name="mthebeau"
net="123.45.67."
for ip in $( seq 1 255 ); do {
    sleep 1; # be kind to the server, unauthorized user
    text="$( nslookup $net$ip 2>&1 | grep "$name" )";
    if [ -z "$text" ]; then continue; fi;
    echo "$text";
}; do

私が知らないIPとマシン名を持つローカルユーザーにデスクトップを公開したかったので、この回答を調べました。

1
user456228