【问题标题】:What is the port for a hostname query?主机名查询的端口是什么?
【发布时间】:2011-02-04 04:51:17
【问题描述】:

我想查询一个 IP 以获取其主机名。这个的标准端口是什么?会不会是 /etc/services 中“主机名”下列出的 101 端口?

【问题讨论】:

    标签: tcp port hostname


    【解决方案1】:

    UDP 端口 101 用于提供“主机名”服务,但原来的 RFC (RFC811) 已被 RFC953 淘汰,RFC953 被标记为“历史”。

    这些天来,您可以查阅DNS(域名系统),其中列出了许多其他相关的 RFC 以对其进行更新。您通常会针对您使用的语言使用适当的库函数来查询 DNS(一个问题是您应该查询的 DNS 服务器的 IP 地址是什么)。

    在这两种情况下(主机名和 DNS),您咨询的机器不是具有您感兴趣的特定 IP 地址的机器。从您的问题中不清楚您是否希望询问具有感兴趣 IP 地址的主机它的名称是什么,或者您是否希望向另一台机器提出问题。实际上,您最终会询问其他机器 - DNS 服务器。

    【讨论】:

      【解决方案2】:

      /etc/services 中的大多数“众所周知的端口”都是历史实现的残余——这些“历史协议”的实现不再使用。

      您找到的端口 101 被注释为“NIC 主机名服务器”。我发现RFC 811RFC953 描述了在端口 101 上服务的协议。最有趣的是,在 RFC 811 (1982) 时唯一的实现是在 SRI International 的特定机器上运行的。 “端口 101 协议”不是现代互联网上可以找到的服务。

      我能想到的唯一一种旨在提供您需要的信息的服务是 SNMP,并且不能保证您会找到正在运行的 SNMP 服务或知道所需的访问关键字(“社区名称”)通过 SNMP 服务查看远程主机名。

      许多特定的服务实现以主机名响应,例如:

      telnet alias.machine.net 25
      220 realname.machine.net ESMTP Postfix (Debian/GNU)
      

      编辑:其他一些答案建议您查看 DNS 端口。 DNS(域名系统)并不是您真正要求的。但是,如果您确实想使用 DNS 查找,请检查 Windows、MacBSD 和 Linux 下 C 中可用的 gethostbyaddr() 函数。

      【讨论】:

        【解决方案3】:

        很好的 dns 在端口 53 上运行

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-07-18
          • 2010-12-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-06-21
          • 2011-08-01
          相关资源
          最近更新 更多