[英]How do I grab a NAPTR record from an IP address in Python?
I'm looking to do something like this in python using dnspython: 我想在python中使用dnspython做这样的事情:
dig @XXX.YYY.ZZZ.AAA -p 99 +short '1.1.1.1.1.1.1.1.1.1.1.e164.arpa' naptr
I thought dns.resolver.query would be the way to go, but it seems to choke on the IP address. 我认为dns.resolver.query是要走的路,但它似乎扼杀了IP地址。
My code: 我的代码:
for rdata in dns.resolver.query('XXX.YYY.ZZZ.AAA', 'NAPTR') :
print rdata.target
Output from running the code: 运行代码的输出:
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
As OXC pointed out, your code is querying for the NAPTR record for XXX.YYY.ZZZ.AAA which is not the equivalent to your dig command. 正如OXC所指出的那样,您的代码正在查询XXX.YYY.ZZZ.AAA的NAPTR记录,这与您的dig命令不同。
Here is code that more closely matches your dig command: 这是与您的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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.