40 likes | 166 Vues
This resource from Kansas State University at Salina focuses on Domain Name System (DNS) programming. It covers essential topics including hostname to IP address lookups, hierarchical distributed databases, and socket programming functionalities like `sock.connect` and `socket.getaddrinfo`. The book also delves into advanced DNS programming techniques, utilizing DNSPython for tasks such as fetching MX records necessary for email delivery. Additional packages for standalone DNS lookups are discussed, emphasizing the popularity of DNSPython as a highly-recommended DNS package.
E N D
Network Programming Kansas State University at Salina Domain Name System (DNS) Topic 2, Chapter 4
DNS • Host name to IP address look up and reverse • Hierarchical, distributed, cached database • Many services provided by OS • sock.connect( (hostname, port) ) • socket.getaddrinfo( hostname, None )
Advanced DNS – DNSPython • Lookup of MX records for sending e-mail is one example where you might need to program a DNS lookup. • Need to add additional package for stand alone DNS lookups. • Book discusses PyDNS, available from source forge. • The package index on python.org suggests that DNSPython is a more popular DNS package.
DNSPython • http://www.dnspython.org/ • Also available from K-State Online • Get the MX targets and preferences for a domain: import dns.resolver answers = dns.resolver.query(‘gmail.com', 'MX') for rdata in answers: print 'Host', rdata.exchange, 'has preference', rdata.preference