1

ドメインとネームサーバーのIPが与えられた場合、そのネームサーバーがJavaでIPを解決している場所を知りたいのですが、どうすればそれを達成できますか? ありがとう

4

2 に答える 2

5

少なくとも 2 つのオプションがあります。

コードを任意の VM で実行する必要がある場合は、利用可能な多数の Java DNS ライブラリのいずれかを使用する必要があります。「java dns library」をグーグルで検索すると、多くのオプションが表示されます。

コードが Sun/Oracle VM でのみ実行される場合は、次のように独自の JNDI DNS プロバイダーを使用できます。

Hashtable<String, Object> env = new Hashtable<String, Object>();
env.put("java.naming.factory.initial", "com.sun.jndi.dns.DnsContextFactory");
env.put("java.naming.provider.url",    "dns://<your DNS server>");

DirContext ictx = new InitialDirContext(env);
Attributes attrs = ictx.getAttributes("www.heise.de", new String[] {"A", "AAAA"});

NamingEnumeration<? extends Attribute> e = attrs.getAll();
while(e.hasMoreElements()) {
    Attribute a = e.next();
    System.out.println(a.getID() + " = " + a.get());
}

この例では、ホスト www.heise.de のすべての A および AAAA レコードについて、指定された DNS サーバーにクエリを実行します。

A = 193.99.144.85

AAAA = 2a02:2e0:3fe:100::7

于 2012-09-13T12:07:48.517 に答える
2

特定のネームサーバーに問い合わせて、それがどのように応答しているかを確認する必要がある場合は、JNDI インターフェイスを使用できます。

于 2012-09-13T11:59:37.860 に答える