【发布时间】:2013-06-23 20:49:37
【问题描述】:
我正在尝试获取 IPV4 地址的反向 DNS 结果。通过挖掘很简单dig -x 1.2.3.4。但是我必须在 Linux C 环境中使用套接字来获得相同的结果。最终我应该在recv* 函数中获得授权。我尝试通过将 IP 1.2.3.4 更改为 4.3.2.1.in-addr.arpa 将其在套接字中的缓冲区中发送到 DNS 服务器。首先,我为简单的 DNS 做的,我得到了正确的 DNS 响应(与dig foobar.com 相同)。我认为我的主要问题是在dig -x 1.2.3.4 中发送-x,因为dig foobar.com 是我能够做的事情......
【问题讨论】:
-
你在说什么你把ip地址倒过来了? DNS 服务器有一个协议,这取决于您使用的 DNS 服务器架构。如果您知道拱门是什么,则可以通过查看规范来形成正确的请求。
-
在进行反向查找时,您是否使用
PTR查询类型而不是A?这是dig -x所做的一部分。 -
@Magn3s1um 谢谢,是的,我颠倒了 IP 地址,因为我在发送 dig -x 时看到问题部分转换为与我提到的相同的部分。实际上我是 DNS 服务器的新手,即使对于这项任务,它也不应该打扰我。我不知道拱门,但我只知道如何搜索 soa 记录,但仅供参考,我能够获得 PTR 记录将进一步移动以获取其他记录.
-
@ColinDBennett 谢谢,您的评论对我很有帮助,我正在搜索 4.3.2.1.in-addr.arpa 的记录,这是错误的。我尝试了 PTR,它再次工作,谢谢......
-
好的,很高兴你成功了。我会将其作为答案发布,以供将来参考。