質問

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

Active Directoryにバインドする必要があり、SRVレコードを使用して、クラスター内の広告のどれがライブであるかを判断するのに役立ちます。

コマンドラインでは、nslookup検索文字列は次のとおりです。

ありがとう。

役に立ちましたか?

解決

エリクソンが指摘したように、JNDI APIには JNDIを使用したDNSのプロバイダー, 、そのリンクで読むことができます。作業サンプルの場合はクエリを照会します _ldap._.tcp.mydomain.com レコード、参照 ハドソンのこのコード.

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");

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

他のヒント

私はそれを使用したことがありませんが、私はJavaのものだと信じています 「Jndi」API ネーミングサービスには、DNSのプロバイダーがあります。ドメイン名をaとして検索します DirContext, 、その後、その「SRV」属性を調べます。

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

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top