3

私はdnspythonを使ってPythonでこのようなことをしようとしています:

 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
4

1 に答える 1

1

OXC が指摘したように、コードは XXX.YYY.ZZZ.AAA の NAPTR レコードを照会していますが、これは 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
于 2013-01-08T04:49:31.640 に答える