2017-01-12 10 views
0

DNSルックアップ(またはDNS逆引き参照)を実行するときにJavaがホストファイルを無視するように強制できますか?InetAddressを使用してJavaでnslookupを実行するときにhostsファイルをバイパスする方法

私はかなりしばらくの間、Javaで nslookupを実行する方法を検討して、そして私は、このコマンドのいくつかのバリエーションを使用して終了見つけることができるすべての例されている

InetAddress.getByName("123.12.12.12").getCanonicalHostName();

私は問題を戻り値はWindowsホストファイルから取得されたもので、実際はnslookupではありません。ホストファイルからエントリを削除すると、正しい結果が返されますが、エントリをhostsファイルに戻すと、プログラムはhostsファイルの値を返します。

なぜ私はこれをやろうとしているのでしょうか?ホストファイルを変更する機能がないサーバーでこのプログラムを実行する必要があるからです。大企業、およびhostsファイルの変更は、多くのアプリケーションを中断させます。問題は、ホストファイルの値ではなく、nslookupから返される実際のホスト名を取得する必要があることです。

答えて

0

InetAddressクラスでこの動作を変更する方法がわかりません。

JavaのドクInetAddressアドレス解決が を使用することによって達成されたホスト名からIP

ローカルマシンの構成情報とネットワークドメインネームシステム(DNS)となどのサービスを命名 の組み合わせネットワーク 情報サービス(NIS)

Javaはリゾルバライブラリに依存しているように見えます。 Understanding host name resolution and DNS behavior in Java

名前解決スイッチの構成ファイルnsswitch.confを構成して、リゾルバの戦略を並べ替えることができますか?

+0

Jeandey - 私は、Windows上で実行しているので、何のnsswitch.confファイルはありません。それでも、プロダクションサーバ上の設定ファイルを変更することはできないので、それは私には役に立ちません。ありがとう! – Joe

関連する問題