将IP转换为域名

问题描述 投票:0回答:1

抱歉,如果我的问题有点广泛,因为我自己也不知道问题所在。

长话短说,我得到了一个IP地址,并想将其转换为域名(如果可能的话),所以我考虑了反向DNS,我用python编写了以下代码:

domain = socket.gethostbyaddr(ip)[0]
return domain

我把它拿给我的经理看,他对我很生气,我不知道出了什么问题。

在进行了一些广泛的搜索之后,我发现反向 dns 是完成此任务的唯一方法,那么什么是“如此简单”?根据您作为专业程序员的经验,我的代码有什么问题?

在unix系统中我们可以这样做:

dig -x [address]

但是这种方法比Python中的方法有优势吗?我应该启动 bash 实例并运行此命令吗?

python networking python-requests dns reverse-dns
1个回答
0
投票

您可以使用 dns 模块查找 name-addr,然后使用它来查找域,作为替代方法。

import dns.resolver
import dns.reversename

my_addr = dns.reversename.from_address("8.8.8.8")  # 8.8.8.8.in-addr.arpa
domain = str(dns.resolver.resolve(my_addr, 'PTR')[0]) # dns.google

print(domain)
© www.soinside.com 2019 - 2024. All rights reserved.