socket.gethostbyaddr()在某些计算机上返回错误,而不是在其他计算机上返回错误

时间:2014-04-28 09:14:33

标签: python linux sockets unix

我已经查找了与此主题相关的任何其他主题,但经过广泛搜索后,我无法找到与我的问题相关的答案。使用Python,我正在尝试使用socket.gethostbyaddr(“ip here”)来确定本地网络中IP地址的主机名:

import socket

def gethostname(ip):
    hostname = socket.gethostbyaddr(ip)

    return hostname

对于某些计算机(例如服务器),这将返回主机名,别名和其他IP的三元组,但对于其他计算机则不会。相反,我得到以下错误:

socket.herror: [Errno 4] No address associated with name

这个错误到底意味着什么?它会导致什么呢?是否有任何服务或instane应在目标计算机上运行才能使其正常工作?计算机我正在尝试获取运行Debian的主机名。

如果已经问过这个问题,那我很抱歉,但我找不到了。

如果它与反向dns查找有关,我将如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

这正是它所说的,没有关联的地址。并非所有IP地址都具有反向查找地址。