获取DNS记录信息java

时间:2013-01-24 11:31:16

标签: java dns ip mx-record

java 中是否有一个库可以从底层服务器获取准确的 DNS 信息?

我不仅对 IP DNS 映射感兴趣,还对其他记录感兴趣: A,AAAA,MX,NS,SOA,RRSIG e tc

2 个答案:

答案 0 :(得分:3)

如果您的代码在Oracle VM上运行,您可以使用DNS提供程序进行JNDI,例如:

Hashtable<String, Object> env = new Hashtable<String, Object>();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.dns.DnsContextFactory");
env.put(Context.PROVIDER_URL, "dns:");

DirContext ctx = new InitialDirContext(env);
Attributes atts = ctx.getAttributes("stackexchange.com", new String[] {"MX"});
NamingEnumeration<? extends Attribute> e = atts.getAll();
while(e.hasMore()) {
    System.out.println(e.next().get());
}

答案 1 :(得分:0)

最好使用dnsjava lib:

<dependency>
    <groupId>dnsjava</groupId>
    <artifactId>dnsjava</artifactId>
</dependency>

,示例如下:

Record[] rs = new Lookup("maildomain.com", Type.MX).run();