package test;
import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.directory.Attribute;
import javax.naming.directory.Attributes;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;
public class NSLookup {
public static void main(String[] args) throws Throwable {
String domainName = "unimelb.edu.au";
System.out.println();
System.out.println("LDAP SRV records ");
print(getLdapSRVRecord(domainName));
System.out.println();
System.out.println("Kerberos SRV record: ");
print(getKerberosSRVRecord(domainName));
}
static void print(Attribute attr) throws Throwable {
for (int i = 0; i < attr.size(); i++) {
String v = String.valueOf(attr.get(i));
System.out.println(v);
}
}
public static Attribute getLdapSRVRecord(String domainName) throws Throwable {
return getSRVRecord("ldap", "tcp", domainName);
}
public static Attribute getKerberosSRVRecord(String domainName) throws Throwable {
return getSRVRecord("kerberos", "tcp", domainName);
}
public static Attribute getSRVRecord(String serviceType, String protocol, String domainName) throws Throwable {
Hashtable<String, String> env = new Hashtable<String, String>();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.dns.DnsContextFactory");
env.put("java.naming.provider.url", "dns:");
DirContext ctx = new InitialDirContext(env);
Attributes attributes = ctx.getAttributes("_" + serviceType + "._" + protocol + "." + domainName,
new String[] { "SRV" });
return attributes.get("SRV");
}
}
Search This Blog
nslookup get SRV record using Java
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment