python - 如何从 Python 中的 IP 地址获取 NAPTR 记录?

标签 python dns

我正在寻找使用 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

最佳答案

正如 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

关于python - 如何从 Python 中的 IP 地址获取 NAPTR 记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11110670/

相关文章:

python - 从另一个文件获取变量 - python

node.js - Firebase反向dns查找ENOTFOUND错误node.js dns

python - Windows Python 代码不适用于 Linux Debian

php - 如何将动态子域别名与 apache 服务器上的子文件夹匹配

networking - 什么是单播 DNS,它与其他类型的 DNS 有何不同?

github - 通过 DNS 的多个 GitHub 页面和自定义域

带有 NAT 和动态 DNS 的 Java 服务器套接字

Python SSL 通信在读取时挂起,然后发出错误 54 - connection reset by peer

python - 通过在附加新行的同时替换旧数据,将新数据合并到旧数据中

Python Selenium : Can't find the login element of costar. com