#dns #client #dns-resolver #ipv4 #ipv6 #secure #applications

dnsclient

一个轻量级、简单且安全的DNS客户端库

20次发布

0.1.19 2024年3月17日
0.1.18 2023年5月7日
0.1.17 2021年12月15日
0.1.16 2021年10月16日
0.1.2 2018年11月9日

#144 in Unix API

Download history 514/week @ 2024-03-24 165/week @ 2024-03-31 66/week @ 2024-04-07 67/week @ 2024-04-14 65/week @ 2024-04-21 85/week @ 2024-04-28 729/week @ 2024-05-05 73/week @ 2024-05-12 95/week @ 2024-05-19 40/week @ 2024-05-26 119/week @ 2024-06-02 36/week @ 2024-06-09 59/week @ 2024-06-16 62/week @ 2024-06-23 3/week @ 2024-06-30 20/week @ 2024-07-07

146 每月下载量
9 个crate(5个直接) 中使用

ISC 许可证

42KB
1K SLoC

Rust的一个简单且安全的DNS客户端

API文档

这是一个DNS客户端crate。有些人可能称之为stub解析器。

它可以解析IPv4和IPv6地址。但它与 std::net::ToSocketAddrs 不同,它直接与上游服务器通信,不依赖于系统解析器。这在最坏的情况下可能是systemd。

相反,您的应用程序可以完全控制将使用哪些上游解析器。

它还可以发送原始查询,并返回原始响应,在必要时通过多个服务器候选人重试。

DNSClient会仔细检查收到的每个数据包的完整性。

它不会让客户端启动区域传输。它可能防止非标准的DNS实现在被恶意查询或响应接收时崩溃或被利用。

当接收到截断的响应时,它还会透明地回退到TCP。

最后,它的API非常简单。

DNSClient提供了一个同步接口(sync::*)以及一个异步接口(async::*)。

Cargo功能

  • async:使用 async-std 作为异步后端
  • async-tokio:使用 tokio 作为异步后端

依赖关系

~2–13MB
~154K SLoC