python - 使用 dnspython 查询反向 dns 查找

标签 python dns dnspython

我正在尝试在 dnspython 中查询反向查找。不幸的是,from_address() 函数不允许我通过变量传递 IP。有什么想法吗?

#!/usr/bin/env python

import dns.resolver,dns.reversename

with open("test", "r") as ips:
    for ip in ips:
        ip = str(ip)
        n = dns.reversename.from_address(ip)
        print str(dns.resolver.query(n,"PTR")[0])

我是Python新手;如果有人能帮忙那就太好了!

最佳答案

我真的怀疑你还在研究这个,但如果你打印出每个IP,你会发现每个IP中有一个换行符\n,这是dns.reversename.from_address()不喜欢的:

192.168.1.1

192.168.1.2

192.168.1.3

这会导致异常:

dns.exception.SyntaxError: Text input is malformed.

您可以轻松更改线路:

ip = str(ip)

至:

ip = str(ip).strip()

它会去掉所有的空格(在格式正确的 IP 地址列表中应该没有空格,这样您就可以得到:

192.168.1.1
192.168.1.2
192.168.1.3

如果您遇到相同的文本格式异常,并且您的 IP 地址格式正确,这应该可以解决您的问题。抱歉,我迟到了 2 年,我在谷歌搜索 dns.reversename.from_address() 时偶然发现了这个。如果您的 IP 列表格式不正确,您可以使用类似 ippy 的内容。过滤掉你的坏的。

关于python - 使用 dnspython 查询反向 dns 查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30427952/

相关文章:

ubuntu - Docker :/var/run/docker. sock:没有这样的文件或目录

macos - 没有端口的本地名称解析 - MAMP Pro

ssl - 对于 DNS 和 SSL,我是否需要为每个 (DNS RR) A 记录提供单独的证书?

python - 有人有通过 Data Flow Python SDK 将输出写入 SFTP 的经验吗?

python - 有没有办法使用 glom 库将字典列表合并为单个字典?

python - sklearn : Using pretrained hyperparameters Gaussian Process Regression

python - ModuleNotFoundError : No module named 'dnspython'

python - 更改python中的目录,相对路径

Python DNS 解析器和原始 TTL

python - ImportError : No module named dns. 异常