支持DNSSEC和/或实验性新RR类型的DNS解析库
现在最先进的DNS解析库是什么样的?我特别想知道那些完整的(不是简单的)解析器,它们支持以下任意功能:在一个请求包中发送多个查询、完全的DNSSEC验证、向应用程序返回关于DNSSEC验证的详细信息,并且能够处理一些实验性的新的资源记录,而不需要太多的修改。异步查询虽然不错,但不是必须的。
我比较喜欢的编程语言有C、C++、Python或者Javascript,不过我会考虑任何语言(不过我真的不想知道你用INTERCAL写的DNS解析器,哈哈)。如果有一个纯JavaScript的实现,可以在支持WebSockets的浏览器中运行,那就更棒了。
2 个回答
0
DNSSEC-Tools项目有一个叫libval的C语言库(还有对应的perl绑定),可以通过它的API支持多线程的DNSSEC查询。这个库可以在很多Linux平台上使用,其他大多数平台也能运行。
(实际上,我现在用的Firefox浏览器就是基于这个库来提供DNSSEC保护的版本。)
不过,你不能在一个数据包里问两个问题。其他人说得没错……
1
我知道的最好的库是 libunbound
,它包含了DNSSEC验证功能,属于Unbound这个软件包的一部分。
需要注意的是,DNS协议本身并不支持你提到的第一个需求(在一个数据包中发送多个查询)。你能做的最好的办法是使用TCP协议,然后通过一个连接依次发送多个查询。