2个不稳定版本

0.2.0 2024年6月20日
0.1.0 2024年5月6日

#351命令行工具

31 每月下载

BSD-3-Clause

63KB
1.5K SLoC

dnsi – DNS调查工具

dnsi 是一个命令行工具,用于调查域名系统 (DNS) 的各个方面。

目前处于非常初期的阶段,将在未来几个月内扩展。

该工具包含多个命令。目前,这些命令包括

  • dnsi query 向域名服务器或系统默认解析器发送查询
  • dnsi lookup 查找域名或IP地址的IP地址
  • dnsi help 显示任何命令的man页

二进制包

通过为Debian和Ubuntu或Red Hat Enterprise Linux (RHEL)和兼容系统(如Rocky Linux)安装二进制包,开始使用 dnsi 非常简单。

您也可以使用Cargo,Rust的构建系统和包管理器,从源代码构建 dnsi。有关如何开始的详细信息,请参阅构建部分。

Debian

要安装 dnsi 包,您需要以下Debian版本之一的64位版本

  • Debian Bookworm 12
  • Debian Bullseye 11
  • Debian Buster 10

所有列出的版本都提供 amd64x86_64 架构的包。此外,我们还为Debian/Raspbian Bullseye提供 armhf 架构的包,以及为Buster提供 arm64

首先更新 apt 软件包索引

sudo apt update

然后安装软件包以允许 apt 使用通过HTTPS的存储库

sudo apt install \
  ca-certificates \
  curl \
  gnupg \
  lsb-release

添加NLnet Labs的GPG密钥

curl -fsSL https://packages.nlnetlabs.nl/aptkey.asc | sudo gpg --dearmor -o /usr/share/keyrings/nlnetlabs-archive-keyring.gpg

现在,使用以下命令设置 main 存储库

echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/nlnetlabs-archive-keyring.gpg] https://packages.nlnetlabs.nl/linux/debian \
$(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/nlnetlabs.list > /dev/null

再次更新 apt 软件包索引

sudo apt update

现在,您可以使用以下命令安装 dnsi

sudo apt install dnsi

Ubuntu

要安装 dnsi 包,您需要以下Ubuntu版本之一的64位版本

  • Ubuntu Jammy 22.04 (LTS)
  • Ubuntu Focal 20.04 (LTS)
  • Ubuntu Bionic 18.04 (LTS)

仅提供适用于 amd64/x86_64 架构的软件包。

首先更新 apt 软件包索引

sudo apt update

然后安装软件包以允许 apt 使用通过HTTPS的存储库

sudo apt install \
  ca-certificates \
  curl \
  gnupg \
  lsb-release

添加NLnet Labs的GPG密钥

curl -fsSL https://packages.nlnetlabs.nl/aptkey.asc | sudo gpg --dearmor -o /usr/share/keyrings/nlnetlabs-archive-keyring.gpg

现在,使用以下命令设置 main 存储库

echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/nlnetlabs-archive-keyring.gpg] https://packages.nlnetlabs.nl/linux/ubuntu \
$(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/nlnetlabs.list > /dev/null

再次更新 apt 软件包索引

sudo apt update

现在,您可以使用以下命令安装 dnsi

sudo apt install dnsi

RHEL 和兼容系统

要安装 dnsi 软件包,您需要 Red Hat Enterprise Linux (RHEL) 7、8 或 9,或兼容的操作系统,如 Rocky Linux。软件包仅适用于 amd64/x86_64 架构。

首先创建一个名为 /etc/yum.repos.d/nlnetlabs.repo 的文件,输入此配置并保存

[nlnetlabs]
name=NLnet Labs
baseurl=https://packages.nlnetlabs.nl/linux/centos/$releasever/main/$basearch
enabled=1

添加NLnet Labs的GPG密钥

sudo rpm --import https://packages.nlnetlabs.nl/aptkey.asc

现在,您可以使用以下命令安装 dnsi

sudo yum install -y dnsi

构建

dnsi 使用 Rust 编写。Rust 编译器可以在许多平台上运行和编译,尽管并非所有平台都受到同等支持。官方 Rust 平台支持 页面提供了不同支持级别的概述。

安装 Rust

虽然某些系统发行版包含 Rust 作为系统软件包,但 dnsi 依赖于相对较新的 Rust 版本,目前为 1.74 或更高版本。因此,我们建议使用名为 rustup 的工具进行标准的 Rust 安装。

假设您已经安装了 curl,您可以通过简单地输入以下命令来安装 rustup 和 Rust:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

或者,访问 Rust 网站 了解其他安装方法。有关更新 Rust 和配置 PATH 环境变量的说明,也请参阅此页面。

安装和更新 dnsi

在成功安装 Rust 后,安装 dnsi 简单地输入以下命令即可:

cargo install --locked dnsi

如果您想更新到 dnsi 的最新版本,建议同时更新 Rust 本身,使用:

rustup update

使用 --force 选项用最新的 dnsi 发布版覆盖现有版本

cargo install --locked --force dnsi

如果您想使用 Cargo 安装 dnsi 的特定版本,请明确使用 --version 选项。如果需要,请使用 --force 选项覆盖现有版本

cargo install --locked --force dnsi --version 0.1.0

依赖项

~21–34MB
~621K SLoC