blob: 8f4e2f3d9f0f23f6cf47a3482619877f953ac692 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
import dns.message
import dns.name
import dns.query
from robot.api.deco import keyword
class DNSKeywords(object):
""" Utilities useful for DNS requests """
def __init__(self):
super(DNSKeywords, self).__init__()
@keyword
def dns_request(self, domain, ns):
""" return the ip address of the given domain name from the given nameserver """
request = dns.message.make_query(domain, dns.rdatatype.A)
request.flags |= dns.flags.AD
request.find_rrset(request.additional, dns.name.root, 65535, dns.rdatatype.OPT, create=True, force_unique=True)
response = dns.query.udp(request, ns)
for answer in response.answer:
for item in answer.items:
return item
|