Server IP : 85.214.239.14 / Your IP : 3.145.88.241 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /proc/2/cwd/proc/2/cwd/proc/3/root/usr/share/doc/python3-dnspython/examples/ |
Upload File : |
#!/usr/bin/env python3 # Two ways of querying a specific nameserver. 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 = resolver.resolve("amazon.com", "NS") print("The nameservers are:") for rr in answer: print(rr.target) # Sending a query with the all flags set to 0. This is the easiest way # to make a query with the RD flag off. # # This sends a query with RD=0 for the root SOA RRset to the IP address # for l.root-servers.net. q = dns.message.make_query(".", dns.rdatatype.SOA, flags=0) r = dns.query.udp(q, "199.7.83.42") print("\nThe flags in the response are {}".format(dns.flags.to_text(r.flags))) print('The SOA in the response is "{}"'.format((r.answer)[0][0]))