Frage

Gibt es eine Möglichkeit in Java eine Nslookup Suche auf SRV-Datensätze zu tun?

muß ich bindet an Active Directory und mag den SRV-Datensätze, um Hilfe verwenden, welche der ADs im Cluster zu bestimmen, ist zu Hause ist.

In der Befehlszeile nslookup Suchtext lautet: 'nslookup -type = srv _ ldap._tcp.ActiveDirectory Domain-Namen'

Danke.

War es hilfreich?

Lösung

Wie erickson wies darauf hin, die JNDI API hat eine Anbieter für DNS JNDI mit entfernt, die Sie über auf diesen Link zu lesen. Für eine Arbeitsbeispielabfrage der _ldap._.tcp.mydomain.com Datensatz finden Sie unter dieser Code von Hudson .

Ich glaube, dass, bevor der DNS-Provider nutzen, müssen Sie es laden mit so etwas wie dieses (modifiziert aus dem Hudson Code oben):

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

von dort aus, kann den SRV-Eintrag über etwas erhalten wie:

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

Ich habe sehr geradlinig AD-Integration in ein paar Projekten wie diese zu verwenden Code erfolgreich verwaltet werden.

Andere Tipps

Ich habe es nie benutzt, aber ich glaube, dass Java "JNDI" API für Namensdienste hat einen Anbieter für DNS. Sehen Sie die Domainnamen als DirContext, und dann untersuchen, seine „SRV“ Attribute.

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

Wie ich sagen, habe ich nicht damit experimentiert, aber ich hoffe, es hilft Ihnen den Einstieg.

Ich benutzen http://www.dnsjava.org/ und es hat den Job

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top