socket.gethostbyaddr()在某些电脑上返回错误而其他电脑没有
我查找了很多相关的讨论,但经过仔细搜索后,还是没能找到能解答我问题的内容。我在用Python,想通过socket.gethostbyaddr("这里填ip")来确定本地网络中某个IP地址的主机名:
import socket
def gethostname(ip):
hostname = socket.gethostbyaddr(ip)
return hostname
对于一些电脑(比如服务器),这个方法会返回主机名、别名和其他IP地址的三元组,但对于其他电脑却没有返回。相反,我得到了以下错误信息:
socket.herror: [Errno 4] No address associated with name
这个错误到底是什么意思呢?是什么原因导致的?目标电脑上需要运行什么服务或程序才能让这个方法正常工作吗?我想获取主机名的那些电脑都是运行Debian系统的。
如果这个问题已经有人问过,那我很抱歉,但我找不到相关的内容。
如果这个问题和反向DNS查询有关,我该怎么解决呢?
1 个回答
2
这句话的意思就是,没什么地址和它关联。并不是所有的IP地址都有一个可以反向查找的地址。