View Single Post
  #4 (permalink)  
Old 05-13-2008, 10:20 AM
anuta anuta is offline
Member
 
Join Date: May 2008
Posts: 3
anuta is on a distinguished road
well no one answers so i figured it out by myself
static public String resolveHostWithAllDnsServers(String ip)
{
List nameservers = sun.net.dns.ResolverConfiguration.open ().nameservers();
for( int i =1; i< nameservers.size() ; i++ )
{
String dnsServer =nameservers.get(i).toString();
try
{
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.dns.DnsContextFactory");
env.put(Context.PROVIDER_URL, "dns://"+dnsServer+"/.");
DirContext ictx = new InitialDirContext(env);
String reversedIp=getReversedIP(ip) ;
Attributes attr = ictx.getAttributes(reversedIp+".in-addr.arpa",new String[]{"PTR"});
Attribute attrib = attr.get("PTR") ;
String host=(String)attrib.get(0);
return host;
}
catch (NamingException e)
{
e.printStackTrace();
}
}
return ip;
}

public static String getReversedIP(String ip)
{
StringTokenizer st = new java.util.StringTokenizer(ip, ".");
String reversedIp=st.nextToken();
while ( st.hasMoreTokens())
{
reversedIp = st.nextToken()+"."+reversedIp;
}
return reversedIp;
}
Reply With Quote