#dns-resolver #dns-resolution #host

app rusolver

使用Rust编写的快速DNS解析器

1个不稳定版本

0.1.1 2020年9月28日
0.1.0 2020年9月28日

#12 in #dns-resolution

GPL-3.0-or-later

24KB
163

Rusolver

使用Rust编写的快速DNS解析器。

目标

为社区提供一个高效的域名解析工具。

性能 & 速度

Rusolver非常节省资源,您可以在单核机器上使用多达1000个线程,这不会引起任何问题,这个工具的瓶颈在于您的网络速度。在良好的网络条件下,Rusolver默认每秒可以解析约1226个主机(在AWS机器上测试)。

#
# hosts.txt is a list of 61309 Google subdomains. See https://gist.github.com/Edu4rdSHL/90ddc4742b816439a112a95039a95312
#
$ cat hosts.txt | rusolver
...
real	0m50.222s
user	0m17.152s
sys	0m10.064s

$ python
Python 2.7.12 (default, Jul 21 2020, 15:19:50) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 61309/50
1226
>>> 

# 1226 hosts were resolved per second in average

安装

使用预编译的二进制文件。

根据您的平台从发布页面下载资产。

使用源代码。

  1. 您需要在您的系统中安装最新的Rust版本。
  2. 克隆仓库或下载源代码,然后运行 cargo build --release
  3. ./target/release/rusolver 运行工具或将它添加到系统PATH中以便在任何地方使用。

用法

  • 默认情况下,我们只显示解析的主机
cat hosts.txt | rusolver
  • 如果您想查看发现的IP地址
cat hosts.txt | rusolver -i

您可以根据需要调整 --timeout-t/--threads 选项。请参阅 rusolver --help

依赖项

~10MB
~189K SLoC