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
146 每月下载量
在 9 个crate(5个直接) 中使用
42KB
1K SLoC
Rust的一个简单且安全的DNS客户端
这是一个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