socket.gethostbyaddr返回未知主机

问题描述:

我想从主机名获取fqdn。我试图在linux服务器上执行这个命令: python -c“import sys,socket; sys.stdout.write(socket.gethostbyaddr('')[0])” 这个命令运行良好,并返回fqdn从主机名。 “:当我做[错误1]未知主机socket.gethostbyaddr返回未知主机

,1号线,在 socket.herror“主机”但是对于一些其他的服务器,它返回此错误: 回溯(最近通话最后一个) 文件” linux命令,我用python命令获取失败主机名的fqdn。

任何人都有一个解决方案,该plz?

+0

我在同一个界面上获得了3个IP并获得了5个服务。你想得到主机名,但哪个接口(或克隆接口)是最新的?在获取主机名之前定义一个IP地址。使用'netifaces'模块... – dsgdfg

Difficulty using Python's socket.gethostbyaddr()涵盖了这个很好。

要点是您必须验证是否有PTR记录。如果不是,你将不得不通过尝试,除了子句来处理它。

具体看一下比较有效和无效PTR记录的部分。

+0

我的输入不是IP地址,但它是没有域的主机名。只是服务器的名称。 – user3652134