예제 #1
0
 @IntegrationTest
 public static void testTcpAnswer() throws IOException {
   DNSClient client = new DNSClient(new LRUCache(1024));
   client.setAskForDnssec(true);
   client.setDisableResultFilter(true);
   DNSMessage result = client.query("www-nsec.example.com", Record.TYPE.A);
   assertNotNull(result);
   assertTrue(result.toArray().length > 512);
 }
예제 #2
0
  @IntegrationTest
  public static void testExampleCom() throws IOException {
    DNSClient client = new DNSClient(new LRUCache(1024));
    String exampleIp4 = "93.184.216.34"; // stable?
    String exampleIp6 = "2606:2800:220:1:248:1893:25c8:1946"; // stable?
    assertEquals(
        client.query("example.com", Record.TYPE.A).answerSection.get(0).payloadData.toString(),
        exampleIp4);
    assertEquals(
        client.query("www.example.com", Record.TYPE.A).answerSection.get(0).payloadData.toString(),
        exampleIp4);
    assertEquals(
        client.query("example.com", Record.TYPE.AAAA).answerSection.get(0).payloadData.toString(),
        exampleIp6);
    assertEquals(
        client
            .query("www.example.com", Record.TYPE.AAAA)
            .answerSection
            .get(0)
            .payloadData
            .toString(),
        exampleIp6);

    DNSMessage nsRecords = client.query("example.com", Record.TYPE.NS);
    List<String> values = new ArrayList<>();
    for (Record<? extends Data> record : nsRecords.answerSection) {
      values.add(record.payloadData.toString());
    }
    Collections.sort(values);
    assertEquals(values.get(0), "a.iana-servers.net.");
    assertEquals(values.get(1), "b.iana-servers.net.");
  }
예제 #3
0
 @IntegrationTest
 public static NSID testNsidLRoot() {
   DNSClient client =
       new DNSClient(null) {
         @Override
         protected Builder newQuestion(Builder message) {
           message.getEdnsBuilder().addEdnsOption(NSID.REQUEST);
           return super.newQuestion(message);
         }
       };
   DNSMessage response = null;
   Question q = new Question("de", TYPE.NS);
   for (InetAddress lRoot : IterativeDNSClient.getRootServer('l')) {
     try {
       response = client.query(q, lRoot);
     } catch (IOException e) {
       continue;
     }
     break;
   }
   NSID nsid = response.getEdns().getEdnsOption(OptionCode.NSID);
   assertNotNull(nsid);
   return nsid;
 }