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