Question

Est-il possible en Java pour faire une recherche Nslookup sur les enregistrements SRV?

Je dois lier à Active Directory et souhaite utiliser les enregistrements SRV pour aider à déterminer des ADs du cluster sont sous tension.

Dans la ligne de commande la chaîne de recherche nslookup est: 'nslookup -type = srv _ ldap._tcp.ActiveDirectory nom de domaine'

Merci.

Était-ce utile?

La solution

Comme erickson a souligné, l'API JNDI a une fournisseur pour DNS à l'aide JNDI, que vous pouvez lire sur ce lien. Pour un exemple de requête de travail le record _ldap._.tcp.mydomain.com, voir ce code de Hudson .

Je crois que avant d'utiliser le fournisseur de DNS, vous devez le charger avec quelque chose comme ça (modifié à partir du code Hudson ci-dessus):

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

de vous là-bas, peut obtenir l'enregistrement SRV par quelque chose comme:

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

J'ai réussi à utiliser le code comme celui-ci dans quelques projets d'intégration AD très simple.

Autres conseils

Je ne l'ai jamais utilisé, mais je crois que Java API "JNDI" pour les services de nommage est un fournisseur de DNS. Recherchez le nom de domaine en tant DirContext, puis examinez ses attributs « SRV ».

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

Comme je le dis, je n'ai pas expérimenté, mais je l'espère vous aide à démarrer.

http://www.dnsjava.org/ et il a fait le travail

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top