繁体   English   中英

使用dnspython查询反向dns查找

[英]Query reverse dns lookups with 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之类的东西来过滤掉不良IP。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM