blob: 2e9185a13eba7148d19645f189fd416b170caa99 [file] [log] [blame]
Guido van Rossumef253701996-07-30 19:04:18 +00001import sys
2import dnslib
3import dnstype
4import dnsopcode
5import dnsclass
6import socket
7import select
8
9def main():
Guido van Rossum4117e541998-09-14 16:44:15 +000010 server = 'cnri.reston.va.us' # How?
Guido van Rossumef253701996-07-30 19:04:18 +000011 port = 53
12 opcode = dnsopcode.QUERY
13 rd = 0
14 qtype = dnstype.MX
15 qname = sys.argv[1:] and sys.argv[1] or 'www.python.org'
16 m = dnslib.Mpacker()
17 m.addHeader(0,
Guido van Rossum4117e541998-09-14 16:44:15 +000018 0, opcode, 0, 0, rd, 0, 0, 0,
19 1, 0, 0, 0)
Guido van Rossumef253701996-07-30 19:04:18 +000020 m.addQuestion(qname, qtype, dnsclass.IN)
21 request = m.getbuf()
22 s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
23 s.connect((server, port))
24 s.send(request)
25 while 1:
Guido van Rossum4117e541998-09-14 16:44:15 +000026 r, w, x = [s], [], []
27 r, w, x = select.select(r, w, x, 0.333)
28 print r, w, x
29 if r:
30 reply = s.recv(1024)
31 u = dnslib.Munpacker(reply)
32 dnslib.dumpM(u)
33 break
Guido van Rossumef253701996-07-30 19:04:18 +000034
35main()