0

JavaでSRVレコードのNslookup検索を行う方法はありますか?

Active Directoryにバインドする必要があり、SRVレコードを使用して、クラスター内のどのADが稼働しているかを判断するのに役立てたいと思います。

コマンドラインでのnslookup検索文字列は次のとおりです。'nslookup-type = srv_ldap._tcp.ActiveDirectoryドメイン名'

ありがとう。

4

3 に答える 3

2

ericksonが指摘したように、JNDI APIには、JNDIを使用するDNSのプロバイダーがあり、そのリンクで確認できます。_ldap._.tcp.mydomain.comレコードをクエリする実用的なサンプルについては、Hudsonのこのコードを参照してください。

DNSプロバイダーを利用する前に、次のようなものをロードする必要があると思います(上記のHudsonコードから変更)。

Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.dns.DnsContextFactory");
env.put("java.naming.provider.url", "dns:");
DirContext ctx = new InitialDirContext(env);

そこから、次のような方法でSRVレコードを取得できます。

Attributes attributes = ctx.getAttributes("_ldap._tcp.mydomain.com", new String[]{"SRV"});
Attribute a = attributes.get("SRV");

私は、非常に単純なAD統合のために、いくつかのプロジェクトでこのようなコードを使用することに成功しました。

于 2010-04-22T23:46:06.257 に答える
0

使用したことはありませんが、Javaのネーミングサービス用の「JNDI」APIにはDNS用のプロバイダーがあると思います。ドメイン名をとしてDirContext検索し、その「SRV」属性を調べます。

DirContext ctx = new InitialDirContext();
Attributes attrs = ctx.getAttributes("dns:/y.com", new String[] {"SRV"});

私が言うように、私はこれを実験していませんが、それがあなたが始めるのに役立つことを願っています。

于 2010-04-22T23:12:00.643 に答える
0

私はhttp://www.dnsjava.org/を使用しました、そしてそれは仕事をしました

于 2012-01-21T21:52:41.357 に答える