java 中是否有一个库可以从底层服务器获取准确的 DNS 信息?
我不仅对 IP 到 DNS 映射感兴趣,还对其他记录感兴趣: A,AAAA,MX,NS,SOA,RRSIG e tc 。
答案 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();