2

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

我不仅对IPDNS的映射感兴趣,还对其他记录感兴趣:A、AAAA、MX、NS、SOA、RRSIG 等

4

2 回答 2

4

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

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());
}
于 2013-01-24T11:42:05.357 回答
2

最好使用 dnsjava 库:

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

一个例子是这样的:

Record[] rs = new Lookup("maildomain.com", Type.MX).run();
于 2014-06-25T15:01:04.080 回答