【问题标题】:Howto look up an SRV record pointing to an IPv6 address如何查找指向 IPv6 地址的 SRV 记录
【发布时间】:2011-12-09 14:35:17
【问题描述】:

我的 C++ 应用程序必须查找指向 IPv6 地址的 DNS SRV 记录。根据我目前的研究,res_search() 系列函数是可行的方法。

有没有人举例说明如何准备这样的查询以及如何提取 IPv6 结果?

【问题讨论】:

    标签: c++ linux dns ipv6 srv


    【解决方案1】:

    res_search()(或req_query)可能是获取初始SRV记录的方法。

    但是SRV 记录只能包含主机名,而不是文字 IPv6 地址。

    您应该将该记录的主机名内容输入getaddrinfo() 函数,然后该函数可以同时查找 IPv4 和 IPv6 地址。

    【讨论】:

    • +1 - SRV 记录包含资源名称。用户有责任使用附加查询(例如,AAAAA)或其他系统调用将名称解析为 IP 地址或其他任何内容。
    • @D.Shawley:尽管如此,我相信 DNS 服务器可以将查找作为额外记录推送到结果中。
    • @ZanLynx 这是可能的,但肯定不是必需的。
    • @Alnitak:对。但在发出新请求之前,值得在 DNS 响应中查找记录。
    • @ZanLynx 不,不是真的,恕我直言。即使AAAAA 都存在,原始答案可能仅包含A 记录。
    猜你喜欢
    • 1970-01-01
    • 2019-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多