【问题标题】:How can I get the IP of a hostname using a fixed DNS server?如何使用固定的 DNS 服务器获取主机名的 IP?
【发布时间】:2011-06-16 07:21:17
【问题描述】:

有没有一种简单的方法,在 *nix 平台(特别是 Linux)上获取主机名的 IP 地址,同时提供自定义 DNS 服务器来代替系统配置的服务器?我想从 C 程序中访问这些信息。

【问题讨论】:

  • 编写一个DNS查询包大约需要10-20行代码;如果您使用 RTFM RFC 1035,那么您自己就很容易。处理响应的工作稍微多一些,但仍然很容易。
  • @R..:放心,这里不需要使用 RTFM。如果您回答了 RFC 1035 的链接,我会投赞成票。
  • 抱歉,我有时会忘记 RTFM 除了在我的某些圈子之外并不被视为深情。如果我费心去获取链接并添加更多详细信息,我可能会做出这样的回答。

标签: c unix networking dns tcp


【解决方案1】:

您需要使用自己的解析器,直接发送 DNS 数据包,而不是依赖系统的解析器和gethostbyname。您可能想要使用库,例如​​ adns

【讨论】:

    【解决方案2】:
    nslookup <hostname> <dns server>
    

    例如:

    nslookup www.example.com ns1.example.com
    

    【讨论】:

    • 我希望从 C 程序中获取这些信息(而不是使用 system() :))。很抱歉造成混乱。
    • 在这种情况下,您能否澄清您的问题以具体说明?您根本没有在问题中提到 C。
    猜你喜欢
    • 2021-12-16
    • 1970-01-01
    • 1970-01-01
    • 2013-08-17
    • 1970-01-01
    • 1970-01-01
    • 2016-03-24
    • 1970-01-01
    • 2011-07-06
    相关资源
    最近更新 更多