diff options
Diffstat (limited to 'Demo/dns/asgethost.py')
-rwxr-xr-x | Demo/dns/asgethost.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/Demo/dns/asgethost.py b/Demo/dns/asgethost.py new file mode 100755 index 0000000..9a90268 --- /dev/null +++ b/Demo/dns/asgethost.py @@ -0,0 +1,35 @@ +import sys +import dnslib +import dnstype +import dnsopcode +import dnsclass +import socket +import select + +def main(): + server = 'cnri.reston.va.us' # How? + port = 53 + opcode = dnsopcode.QUERY + rd = 0 + qtype = dnstype.MX + qname = sys.argv[1:] and sys.argv[1] or 'www.python.org' + m = dnslib.Mpacker() + m.addHeader(0, + 0, opcode, 0, 0, rd, 0, 0, 0, + 1, 0, 0, 0) + m.addQuestion(qname, qtype, dnsclass.IN) + request = m.getbuf() + s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + s.connect((server, port)) + s.send(request) + while 1: + r, w, x = [s], [], [] + r, w, x = select.select(r, w, x, 0.333) + print r, w, x + if r: + reply = s.recv(1024) + u = dnslib.Munpacker(reply) + dnslib.dumpM(u) + break + +main() |