(Per rispondere a come si può capire i dati restituiti)
È possibile ottenere il TXT, CNAME, e SOA registra un modo simile ma è sufficiente per ottenere gli attributi corretti a seconda dell'oggetto risposta DNS.
L'uso del python dir() built-in è tuo amico e un modo per capire quali attributi esistono nell'oggetto di risposta DNS: utile quando la documentazione API non è disponibile.
di capire gli attributi appropriati, cambiare il vostro ciclo for temporaneamente al seguente:
for data in answer:
print dir(data)
print data
altro e il modo più veloce è quello di esaminare la documentazione API per dnspython, elencano queste pagine gli attributi per ciascun oggetto restituito.
Infine, è possibile controllare l'origine se la libreria è in python o, in caso contrario, se il codice C è disponibile.
(E per rispondere alla tua domanda :)
Ecco alcuni esempi di TXT, CNAME e query SOA:
TXT
http://www.dnspython.org/docs/1.15.0/dns.rdtypes.txtbase.TXTBase-class.html#section-InstanceVariables
answers = dns.resolver.query('google.com', 'TXT')
print ' query qname:', answers.qname, ' num ans.', len(answers)
for rdata in answers:
for txt_string in rdata.strings:
print ' TXT:', txt_string
CNAME
http://www.dnspython.org/docs/1.15.0/dns.rdtypes.ANY.CNAME.CNAME-class.html
answers = dns.resolver.query('mail.google.com', 'CNAME')
print ' query qname:', answers.qname, ' num ans.', len(answers)
for rdata in answers:
print ' cname target address:', rdata.target
SOA
http://www.dnspython.org/docs/1.15.0/dns.rdtypes.ANY.SOA.SOA-class.html#section-InstanceVariables
answers = dns.resolver.query('google.com', 'SOA')
print 'query qname:', answers.qname, ' num ans.', len(answers)
for rdata in answers:
print ' serial: %s tech: %s' % (rdata.serial, rdata.rname)
print ' refresh: %s retry: %s' % (rdata.refresh, rdata.retry)
print ' expire: %s minimum: %s' % (rdata.expire, rdata.minimum)
print ' mname: %s' % (rdata.mname)
collegamenti sono rotti ... –
deve essere fissato ora –