Pregunta

¿Hay una manera de Java para hacer una búsqueda nslookup en los registros SRV?

Me necesitan de obligar a Active Directory y le gustaría usar los registros SRV para ayudar a determinar cuál de los anuncios de la agrupación son en vivo.

En la línea de comandos la cadena de búsqueda nslookup es: 'nslookup -type = srv _ ldap._tcp.ActiveDirectory nombre de dominio'

Gracias.

¿Fue útil?

Solución

Como Erickson señaló, el API JNDI tiene un proveedor de DNS usando JNDI, que se puede leer acerca de en ese enlace. Para una consulta de ejemplo de trabajo _ldap._.tcp.mydomain.com el registro, consulte este código de Hudson .

Creo que antes de utilizar el proveedor de DNS, es necesario cargar con algo como esto (modificado a partir del código Hudson arriba):

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

a partir de ahí, se puede obtener el registro SRV a través de algo como:

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

He conseguido con éxito para el uso de código como este en un par de proyectos para la integración de AD muy sencilla.

Otros consejos

Yo nunca he usado, pero creo que de Java "JNDI" API para servicios de nombres tiene un proveedor de DNS. Busque el nombre de dominio como DirContext, y luego examinar sus atributos "SRV".

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

Como digo, no he experimentado con esto, pero espero que le ayuda a empezar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top