mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			35 lines
		
	
	
	
		
			848 B
		
	
	
	
		
			Python
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
	
		
			848 B
		
	
	
	
		
			Python
		
	
	
		
			Executable file
		
	
	
	
	
| 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()
 | 
