dnsjava:查询权威服务器并处理引荐

时间:2020-10-15 11:39:35

标签: java dns

我想查询tld服务器是否存在委派的NSS RRSet,如果存在,则要显示它。

我尝试过

Name zone = new Name("mieslinger.de");
String bestIP = "194.246.96.1";

Lookup la = new Lookup(zone.toString(true), Type.NS, DClass.IN);
la.setCache(de.mieslinger.nsrrsetd.Main.dnsJavaCache);

// make sure locally configured searchpaths are not used
la.setSearchPath(".");

// accept all answers 
la.setCredibility(Credibility.NONAUTH_AUTHORITY);

SimpleResolver r = new SimpleResolver(bestIP);
r.setTimeout(Duration.ofSeconds(20));

la.setResolver(r);

long begin = System.currentTimeMillis();
la.run();
long end = System.currentTimeMillis();
long latency = end - begin;

switch (la.getResult()) {
   case Lookup.SUCCESSFUL:
        System.out.println("Lookup.SUCCESSFUL -> NOERROR<br>");
        System.out.println(zone.toString(true) + " is delegated to:<br>");
        for (i = 0; i < la.getAnswers().length; i++) {
            NSRecord rr = (NSRecord) la.getAnswers()[i];
            System.out.println(rr.getTarget().toString(true) + "<br>");
        }
        break;
   case Lookup.HOST_NOT_FOUND:
        System.out.println("Lookup.HOST_NOT_FOUND -> NXDOMAIN<br>");
        break;
   case Lookup.TYPE_NOT_FOUND:
        System.out.println("Lookup.TYPE_NOT_FOUND -> NOERROR, but no NS Records at " + zone.toString(true) + "<br>");
        break;
   default:
        out.println("SERVFAIL " + la.getErrorString() + "<br>");
        break;
}

我收到“错误”引荐。对我来说这不是一个错误。这是预期的结果,我希望看到它。有任何提示如何实现吗?

0 个答案:

没有答案
相关问题