特定のドメインのすべてのサブドメインを調べたいです。次のオプションで権威あるネームサーバーを掘るように指示するヒントを見つけました。
Dig @ns1.foo.bar some_domain.com axfr
しかし、これはうまくいきません。誰よりも良いアイデア/アプローチがあります
(axfrを使用した)ヒントは、問い合わせているNS(この例ではns1.foo.bar)が、使用しているIPからのAXFR要求を許可するように設定されている場合にのみ機能します。 IPが問題のドメインのセカンダリとして設定されていない限り、これは起こりそうもありません。
基本的に、あなたがaxfrの使用を許可されていないのであれば、それをする簡単な方法はありません。これは意図的なものなので、それを回避する唯一の方法はブルートフォース(つまりDig a.some_domain.com
、Dig b.some_domain.com
、...)を介したものであり、サービス拒否攻撃と見なされる可能性があるため、お勧めできません。
この情報をDNSから取得できない場合(例えば、あなたが認証されていない場合)、1つの選択肢は Wolfram Alpha を使うことです。
stackexchange.com
)そこにサブドメインのリストを見ることができるでしょう。私はそれがすべてのサブドメインを表示していないと思いますが。
あなたが使用することができます:
$ Host -l domain.com
内部的には、これは上記のAXFR
クエリを使用します。あなたはこれを行うことが許可されていないかもしれません。その場合、transfer failed
というメッセージが表示されます。
Dig somedomain.com soa
Dig @ns.SOA.com somedomain.com axfr
無料のrobotexツールでこれを実行できますが、最初にドメインのIPアドレスを入力するようになります。
Windowsのnslookup
では、コマンドは
ls -d somedomain.com > outfile.txt
サブドメインリストをoutfile.txtに格納します。
最近ではこれを可能にするドメインが少ない
ドメインのDNSサーバーに接続している場合、およびAXFRがIPアドレスに対して有効になっている場合にのみこれを実行できます。これは、セカンダリシステムがプライマリからゾーンをロードするために使用するメカニズムです。昔はこれは制限されていませんでしたが、セキュリティ上の理由から、ほとんどのプライマリネームサーバはホワイトリストを持っています:セカンダリネームサーバ+いくつかの特別なシステム。
使用しているネームサーバーでこれが許可されている場合は、Digまたはnslookupを使用できます。
例えば:
#nslookup
>ls domain.com
注:nslookupはDigやその他の新しいツールでは推奨されていないため、nslookupの一部のバージョンは "ls"をサポートしていません。特にMac OS Xのバンドル版がサポートされています。
このサイトを使ってサブドメインを見つけることができます サブドメインを見つける
このツールはゾーン転送を試み、サブドメインのリストを検索エンジンに問い合わせます。
DNSサーバーが正しく設定されていると、ドメイン全体を取得することはできません。何らかの理由で任意のホストからのゾーン転送が許可されている場合は、その要求を送信するために正しいパケットを送信する必要があります。私はそれがあなたが含めたDigステートメントがすることであると思う。