From e6cf2eb5bcc164e84672d1c2c2f653da6406220e Mon Sep 17 00:00:00 2001 From: Bob Halley Date: Fri, 30 Dec 2016 12:35:52 -0800 Subject: [PATCH] add example of querying a specific server --- examples/query_specific.py | 39 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 examples/query_specific.py diff --git a/examples/query_specific.py b/examples/query_specific.py new file mode 100644 index 00000000..2da2cdf9 --- /dev/null +++ b/examples/query_specific.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python + +# Two ways of querying a specific nameserver. + +from __future__ import print_function + +import dns.message +import dns.rdataclass +import dns.rdatatype +import dns.query + +# This way is just like nslookup/dig: + +qname = dns.name.from_text('amazon.com') +q = dns.message.make_query(qname, dns.rdatatype.NS) +print('The query is:') +print(q) +print('') +r = dns.query.udp(q, '8.8.8.8') +print('The response is:') +print(r) +print('') +print('The nameservers are:') +ns_rrset = r.find_rrset(r.answer, qname, dns.rdataclass.IN, dns.rdatatype.NS) +for rr in ns_rrset: + print(rr.target) +print('') +print('') + +# A higher-level way + +import dns.resolver + +resolver = dns.resolver.Resolver(configure=False) +resolver.nameservers = ['8.8.8.8'] +answer = dns.resolver.query('amazon.com', 'NS') +print('The nameservers are:') +for rr in answer: + print(rr.target) -- 2.47.3