36 lines
874 B
Python
36 lines
874 B
Python
import sys
|
|
|
|
import trio
|
|
|
|
import dns.message
|
|
import dns.asyncquery
|
|
import dns.asyncresolver
|
|
|
|
|
|
async def main():
|
|
if len(sys.argv) > 1:
|
|
host = sys.argv[0]
|
|
else:
|
|
host = "www.dnspython.org"
|
|
q = dns.message.make_query(host, "A")
|
|
r = await dns.asyncquery.udp(q, "8.8.8.8")
|
|
print(r)
|
|
q = dns.message.make_query(host, "A")
|
|
r = await dns.asyncquery.tcp(q, "8.8.8.8")
|
|
print(r)
|
|
q = dns.message.make_query(host, "A")
|
|
r = await dns.asyncquery.tls(q, "8.8.8.8")
|
|
print(r)
|
|
a = await dns.asyncresolver.resolve(host, "A")
|
|
print(a.response)
|
|
zn = await dns.asyncresolver.zone_for_name(host)
|
|
print(zn)
|
|
answer = await dns.asyncresolver.resolve_at("8.8.8.8", "amazon.com", "NS")
|
|
print("The amazon.com nameservers are:")
|
|
for rr in answer:
|
|
print(rr.target)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
trio.run(main)
|