特定のドメインのすべてのサブドメインを見つけたい。次のオプションを使用して、権限のあるネームサーバーを掘り下げるように指示するヒントを見つけました。
dig @ns1.foo.bar some_domain.com axfr
しかし、これは決して機能しません。誰もがより良いアイデア/アプローチを持っています
特定のドメインのすべてのサブドメインを見つけたい。次のオプションを使用して、権限のあるネームサーバーを掘り下げるように指示するヒントを見つけました。
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 からこの情報を取得できない場合 (たとえば、認証されていない場合)、別の方法としてWolfram Alphaを使用することができます。
stackexchange.com
)そこにサブドメインのリストが表示されます。すべてのサブドメインが表示されるわけではないと思いますが。
以下を使用できます。
$ host -l domain.com
内部では、これはAXFR
上記のクエリを使用します。ただし、これを行うことは許可されていない場合があります。その場合、transfer failed
メッセージが表示されます。
dig somedomain.com soa
dig @ns.SOA.com somedomain.com axfr
無料の robotex ツールでこれを行うことができますが、最初にドメインの IP を入力する必要があります。
これを行うことができるのは、ドメインの DNS サーバーに接続していて、IP アドレスに対して AXFR が有効になっている場合のみです。これは、セカンダリ システムがプライマリからゾーンをロードするために使用するメカニズムです。昔は、これは制限されていませんでしたが、セキュリティ上の懸念から、ほとんどのプライマリ ネーム サーバーには、セカンダリ ネーム サーバー + いくつかの特別なシステムのホワイトリストがあります。
使用しているネームサーバーでこれが許可されている場合は、dig または nslookup を使用できます。
例えば:
#nslookup
>ls domain.com
注: nslookup は dig やその他の新しいツールでは非推奨になっているため、nslookup の一部のバージョン (特に Mac OS X のバンドル バージョン) は「ls」をサポートしていません。
Windows ではnslookup
、コマンドは次のとおりです。
ls -d somedomain.com > outfile.txt
サブドメイン リストを outfile.txt に保存します。
最近ではこれを許可するドメインはほとんどありません
DNS サーバーが適切に構成されている場合、ドメイン全体を取得することはできません。何らかの理由で任意のホストからのゾーン転送が許可されている場合は、正しいパケットを送信してその要求を行う必要があります。あなたが含めたdigステートメントがそうしていると思います。