- 
      
- 
        Save mohsenk/0656238c061baa3475e84ec2bbd1229e to your computer and use it in GitHub Desktop. 
Revisions
- 
        etiennecarriere created this gist Aug 22, 2017 .There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,37 @@ import java.net.InetSocketAddress; import io.netty.channel.AddressedEnvelope; import io.netty.handler.codec.dns.DnsRecord; import io.netty.handler.codec.dns.DnsResponse; import io.netty.handler.codec.dns.DnsSection; import io.netty.util.concurrent.DefaultPromise; import io.netty.util.concurrent.Future; import io.netty.util.concurrent.GenericFutureListener; public class DnsPromise extends DefaultPromise<AddressedEnvelope<? extends DnsResponse,InetSocketAddress>>{ public DnsPromise() { addListener(new DnsListener()); } public class DnsListener implements GenericFutureListener<Future <AddressedEnvelope<? extends DnsResponse,InetSocketAddress>>>{ @Override public void operationComplete(Future<AddressedEnvelope<? extends DnsResponse, InetSocketAddress>> future) throws Exception { DnsResponse response = future.getNow().content(); DnsRecord answer = response.recordAt(DnsSection.ANSWER); if (answer != null) { System.out.println("POSITIVE ANSWER "+ answer.name()+ " TTL "+ answer.timeToLive()); }else { DnsRecord authoritity = response.recordAt(DnsSection.AUTHORITY); System.out.println("Negative ANSWER TTL" + authoritity.timeToLive()); } } } } This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,37 @@ import java.net.InetSocketAddress; import java.util.concurrent.ExecutionException; import io.netty.channel.AddressedEnvelope; import io.netty.channel.EventLoopGroup; import io.netty.channel.nio.NioEventLoopGroup; import io.netty.channel.socket.nio.NioDatagramChannel; import io.netty.handler.codec.dns.DefaultDnsQuestion; import io.netty.handler.codec.dns.DnsQuestion; import io.netty.handler.codec.dns.DnsRecordType; import io.netty.handler.codec.dns.DnsResponse; import io.netty.resolver.dns.DnsNameResolver; import io.netty.resolver.dns.DnsNameResolverBuilder; import io.netty.resolver.dns.SingletonDnsServerAddressStreamProvider; import io.netty.util.concurrent.Future; public class MainClass { public static void main(String[] args) throws InterruptedException, ExecutionException { EventLoopGroup group = new NioEventLoopGroup(1); //DnsNameResolver dnsNameResolver = new DnsNameResolver(group.next(),NioDatagramChannel.class,DnsServerAddresses.shuffled(SERVERS)); DnsNameResolver dnsNameResolver = new DnsNameResolverBuilder(group.next()) .channelType(NioDatagramChannel.class) .nameServerProvider(new SingletonDnsServerAddressStreamProvider(new InetSocketAddress("127.0.0.1", 53))) .build(); int i = 154; int j = 6; String query = j+ "." + i + "." + "228.160.in-addr.arpa"; DnsQuestion dnsQuestion = new DefaultDnsQuestion(query, DnsRecordType.PTR); Future<AddressedEnvelope<DnsResponse,InetSocketAddress>> futureResponse = dnsNameResolver.query(dnsQuestion,new DnsPromise()); System.out.println("apres"); } }