51

dig?を 1 回呼び出すだけで IPv4 および IPv6 アドレスを取得できるかどうかを知りたいです。

たとえば、次のようにすると IPv4 アドレスが得られます。

dig hostname A

そして、このコマンドは私にIPv6アドレスを与えます:

dig hostname AAAA

たった 1 つのコマンドで、IPv4 と IPv6 の両方のアドレスを取得するにはどうすればよいですか?

4

3 に答える 3

79

質問がされてからこれが追加された可能性がありますが、完全を期すために、次のクエリを使用してこれを行うことができます。

dig hostname A hostname AAAA +short

ソース: http://linux.die.net/man/1/dig -- 「複数のクエリ」セクションの下

于 2015-09-04T11:58:05.937 に答える
47

ドメインの権限のあるサーバーにクエリを実行している場合、クエリを使用して名前のすべてのレコードを取得できANYます。

dig hostname ANY @servername

ただし、キャッシュ サーバーにクエリを実行している場合、これは確実に機能しません。キャッシュ サーバーがクエリに応答すると、ANYその時点でたまたまキャッシュにあったレコードが返されます。名前にAAAAAレコードの両方が含まれていても、サーバーがA最近レコードを検索しただけの場合、AAAAレコードはキャッシュにないため返されません。

さらに、DNS サーバーがクエリへの応答を拒否できるようにする提案がありますANY: QTYPE=ANY を持つ DNS クエリに最小サイズの応答を提供します。これを実装するサーバーにクエリを実行すると、単一のクエリで両方の応答を取得できない場合があります (ただし、そのドラフトでの提案の 1 つは、クエリは、、およびのANYすべてを返す可能性があるということです。 )。したがって、最高の信頼性を得るには、クエリを 2 つだけ作成する必要があります。MXAAAAA

于 2014-05-16T15:56:30.920 に答える