java.net.InetAddressは、デフォルトでローカル マシンのデフォルトのホスト名リゾルバーを使用してホスト名を解決します。
ホスト名から IP アドレスへの解決は、ローカル マシンの構成情報と、ドメイン ネーム システム (DNS) やネットワーク情報サービス (NIS) などのネットワーク ネーム サービスを組み合わせて使用することによって実現されます。使用されている特定のネーム サービスは、デフォルトでローカル マシンに設定されたものです。どのホスト名でも、対応する IP アドレスが返されます。[ソース]
ローカル マシンのデフォルトのホスト名リゾルバーを変更せずに、この動作を構成するにはどうすればよいでしょうか?
たとえば、 OpenDNS ( 208.67.222.222、208.67.220.220 ) または Google Public DNS (2001:4860:4860::8888、2001:4860:4860: :8844)?
または、DNS パケット要求を明示的に作成し、それらをjava.net.DatagramSocketまたはjava.net.Socketのいずれかを介してサーバーに送信し、応答を解析する唯一のソリューションですか?