У меня есть простой скрипт, использующий DNSLIB (https://bitbucket.org/paulc/dnslib/src/default/):
domain='google.com'
qtype='A'
address='85.18.200.200'
port=53
tcp='UDP'
# Construct request
q = DNSRecord(q=DNSQuestion(domain,getattr(QTYPE,qtype)))
a_pkt = q.send(address,port,tcp=tcp)
a = DNSRecord.parse(a_pkt)
print(a.short())
print(a)
Это вывод:
216.58.198.14
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54118
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 8
;; QUESTION SECTION:
;google.com. IN A
;; ANSWER SECTION:
google.com. 119 IN A 216.58.198.14
;; AUTHORITY SECTION:
google.com. 45886 IN NS ns1.google.com.
google.com. 45886 IN NS ns3.google.com.
google.com. 45886 IN NS ns2.google.com.
google.com. 45886 IN NS ns4.google.com.
;; ADDITIONAL SECTION:
ns1.google.com. 46167 IN A 216.239.32.10
ns2.google.com. 46253 IN A 216.239.34.10
ns3.google.com. 46167 IN A 216.239.36.10
ns4.google.com. 46116 IN A 216.239.38.10
ns1.google.com. 60178 IN AAAA 2001:4860:4802:32::a
ns2.google.com. 59950 IN AAAA 2001:4860:4802:34::a
ns3.google.com. 49590 IN AAAA 2001:4860:4802:36::a
ns4.google.com. 60274 IN AAAA 2001:4860:4802:38::a
Это то, что я ожидал, и это работает без проблем. Мойвопрос, как я могу выполнить итерацию для ответа типа объекта? Пример, как я могу перечислить все QTYPE = A из дополнительного раздела?
Спасибо