对于我的任务,我需要阻止一些主机名,但由于一些网站可能会用不同的IP地址回复不同的DNS查询(例如,Google DNS和任何其他DNS服务器),我想使用不同的DNS服务器解析相同的主机名,以获得尽可能多的IP地址。
简而言之:我希望使用DNS #A将"example.com“解析为IP,使用DNS #B将"example.com”解析为IP,而不对网络配置进行任何重大更改(或者更好,不做任何更改)。
我看过Poco::Net::DNS和c-ares,但是它们似乎都使用OS设置,并且不允许将查询指向其他DNS服务器(如果我错了,请纠正我)。
发布于 2017-12-21 23:33:19
是。DNS是一种位于TCP协议之上的协议,因此您可以在任何可以发送和接收TCP数据包的地方进行DNS查询(假设没有防火墙规则可以防止此问题或其他网络问题)。
但是,C++没有用于DNS协议库。C++也没有用于发送或接收TCP数据包的标准库(尽管在C++20中考虑增加了这一点)。您可以依赖特定于操作系统的API进行网络通信(或者像往常一样,您可以使用包装系统API的库)。
https://stackoverflow.com/questions/47927944
复制相似问题