是否可以在C 中以编程方式查询不同的DNS名称服务器,从而忽略系统设置

Is it possible to query different DNS nameservers programmatically in C++, ignoring system settings?

本文关键字:服务器 设置 系统 DNS 编程 方式 查询 是否      更新时间:2023-10-16

对于我的任务,我需要阻止一些主机名,但是由于某些网站可以用不同的IP地址回复不同的DNS查询(例如,Google DNS和任何其他DNS服务器),所以'd喜欢使用不同的DNS服务器解析相同的主机名,以获取尽可能多的IP地址。

简而完全更改)。

我已经查看了poco :: net :: dns和c-ares,但是它们似乎都使用OS DNS设置,并且不允许将查询指向其他DNS服务器(如果我错了,请纠正我)。

是。DNS是最重要的TCP协议的协议,因此您可以在可以发送和接收TCP数据包的任何地方进行DNS查询(假设没有防火墙规则可以防止此或其他网络问题)。

但是,C 没有用于DNS协议的标准库。C 也没有用于发送或接收TCP数据包的标准库(尽管在C 20中考虑了这一点)。您可以依靠操作系统特定于网络通信的API(或一如既往,可以使用包装系统API的库)。