web-dev-qa-db-ja.com

1つのコマンドでIPv4とIPv6を取得する

1つのコマンドDigでIPv4およびIPv6アドレスを取得できるかどうか、どのように知りたいですか?

例:ホスト名Aを掘る-上記のコマンドはIPv4を提供します

ホスト名AAAAを掘る-そしてこのコマンドは私にIPv6アドレスを与えます

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

私はこの問題で立ち往生しました、どうすれば権威主義的なクエリでIPv4とIPv6を取得できますか?

誰でも私を助けることができますか???

33
user3645265

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

Dig hostname ANY @servername

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

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

33
Barmar

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

Dig hostname A hostname AAAA +short

ソース: http://linux.die.net/man/1/Dig -「Multiple Queries」セクションの下

51
user3166580