【问题标题】:convert IP to hostname [duplicate]将IP转换为主机名[重复]
【发布时间】:2026-02-17 22:40:01
【问题描述】:

我想编写一个 python 脚本来将 IP 地址转换为主机名。我正在使用 Linux 机器。 我在 whois 命令中看不到此信息。是否有任何命令始终提供正确的主机名(尽可能准确)?

【问题讨论】:

  • 我认为您对所涉及的概念感到困惑。
  • edit-对不起,我的意思是主机名!!
  • 除了 python 解决方案,您还可以使用host 命令进行正向和反向 DNS 查找。

标签: python linux


【解决方案1】:

Socket 库有一个 API 可以执行 reverse DNS lookups

import socket
socket.gethostbyaddr("8.8.8.8")
>>> ('google-public-dns-a.google.com', [], ['8.8.8.8'])

请记住,并非所有 IP 地址都有反向 DNS 条目,并非所有别名都可能出现在此查询的答案等中。

【讨论】:

  • 是不是像上面这样通过IP时我没有得到域名的原因
【解决方案2】:

您最接近的可能是socket.getfqdn()。它结合了 gethostbyaddr() 的结果。将 IP 地址作为字符串传递给它。

【讨论】: