Как получить запись NAPTR с IP-адреса в Python?

Я хочу сделать что-то подобное в python, используя dnspython:

dig @XXX.YYY.ZZZ.AAA -p 99 +short '1.1.1.1.1.1.1.1.1.1.1.e164.arpa' naptr 

Я думал, что dns.resolver.query – это путь, но, похоже, он задыхается от IP-адреса.

Мой код:

 for rdata in dns.resolver.query('XXX.YYY.ZZZ.AAA', 'NAPTR') : print rdata.target 

Результат выполнения кода:

  Traceback (most recent call last): File "...\src\dnslookup.py", line 12, in <module> for rdata in dns.resolver.query('XXX.YYY.ZZZ.AAA', 'NAPTR') : File "build\bdist.win-amd64\egg\dns\resolver.py", line 920, in query File "build\bdist.win-amd64\egg\dns\resolver.py", line 856, in query dns.resolver.NXDOMAIN 

Как отметил OXC, ваш код запрашивает запись NAPTR для XXX.YYY.ZZZ.AAA, которая не является эквивалентом вашей команды dig.

Вот код, который более точно соответствует вашей команде dig:

 resolver = dns.resolver.Resolver() resolver.nameservers = ['XXX.YYY.ZZZ.AAA'] resolver.port = 99 resolver.query('1.1.1.1.1.1.1.1.1.1.1.e164.arpa', 'NAPTR') # Need to confirm syntax for NAPTR query