>>> import getopt
>>> import sys
>>> import re
>>> import urllib2
>>> import dns.resolver
>>> import dns.query
>>> import dns.zone
>>> from urlparse import urlsplit
>>> from dns.exception import DNSException
>>> from dns.rdataclass import *
>>> from dns.rdatatype import *
>>>
>>>
>>> def dns_records(url):
... print "Getting NS records from: ", url
... ns_records = dns.resolver.query(url, 'NS')
... ns = []
... for rdata in ns_records :
... print " Found name server: ", rdata.to_text()[:-1]
... ns.append(rdata)
... return ns
...
>>> url = '
autre.org'
>>> n = dns_records(url)
>>> def zone_transfer(url,ns_list):
... for nameserver in ns_list:
... print "Trying a zone transfer from name server: {0}".format(nameserver)
... try:
... ztfr = dns.zone.from_xfr(dns.query.xfr(nameserver,url))
... for name, node in ztfr.nodes.items():
... rdataset = node.rdatasets
... #for record in rdataset:
... print '{0} {1}'.format(name, record)
... except dns.exception.DNSException, e:
... print 'Error: {0}'.format(e)
...
>>> zone_transfer(url,n)
Trying a zone transfer from name server:
ns1.zoneedit.com.
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 5, in zone_transfer
File "/usr/lib/pymodules/python2.6/dns/zone.py", line 835, in from_xfr
for r in xfr:
File "/usr/lib/pymodules/python2.6/dns/query.py", line 346, in xfr
_connect(s, destination)
File "/usr/lib/pymodules/python2.6/dns/query.py", line 183, in _connect
s.connect(address)
File "<string>", line 1, in connect
TypeError: coercing to Unicode: need string or buffer, NS found
>>>
Parece que sigue con el mismo error...acabo de hacer un upgrade en el debian por las dudas que tenga desactualizada la libreria pero nop (estoy con squeezy)
sudo aptitude search python | grep -i dns
p python-adns - Python bindings to the asynchronous DNS re
p python-dns - DNS client module for Python
i python-dnspython - DNS toolkit for Python
p python-easyzone - DNS Zone abstraction Python module
p python-ldns - Python bindings for the ldns library for D
p python-twisted-names - A DNS protocol implementation with client
v python2.5-adns -
v python2.5-dnspython -
v python2.5-ldns -
v python2.6-adns -
v python2.6-dnspython -
v python2.6-ldns
Seguiré intentando! ... Saludos!