Zeek-PDNS 项目常见问题解决方案
zeek-pdns Passive DNS collection using Zeek 项目地址: https://gitcode.com/gh_mirrors/ze/zeek-pdns
1. 项目基础介绍及主要编程语言
Zeek-PDNS 是一个利用 Zeek 进行 DNS 日志收集的被动 DNS 收集系统的简单实现。被动 DNS 收集可以用于各种安全或故障排除目的。该项目通过 Zeek DNS 日志构建一个数据库,包含唯一的查询+类型+答案元组,从而提高查询效率。
该项目主要使用 Go 语言编写。
2. 新手使用项目时需特别注意的问题及解决步骤
问题一:如何安装和构建项目
问题描述: 新手在使用该项目时可能不知道如何安装和构建项目。
解决步骤:
- 确保已经安装了 Go 编译器。
- 克隆项目到本地:
git clone https://github.com/JustinAzoff/zeek-pdns.git
- 切换到项目目录:
cd zeek-pdns
- 构建项目:
go build
问题二:如何选择和配置存储后端
问题描述: 新手在使用该项目时可能不清楚如何选择合适的存储后端以及如何进行配置。
解决步骤:
-
Zeek-PDNS 支持多种存储后端,包括 PostgreSQL、ClickHouse 和 SQLite。
-
根据实际需求选择存储后端,然后设置相应的环境变量。以下为 PostgreSQL 和 ClickHouse 的配置示例:
-
PostgreSQL:
export PDNS_STORE_TYPE="postgresql" export PDNS_STORE_URI="postgres://pdns:foo@localhost/pdns sslmode=disable"
-
ClickHouse:
export PDNS_STORE_TYPE="clickhouse" export PDNS_STORE_URI="tcp://localhost:9000/database=pdns"
-
问题三:如何索引日志
问题描述: 新手在使用该项目时可能不知道如何对日志进行索引。
解决步骤:
-
根据所选择的存储后端,执行相应的索引命令。以下为 PostgreSQL 和 ClickHouse 的索引命令示例:
-
PostgreSQL:
go run aggregate.go
-
ClickHouse:
go run aggregate.go
-
完成以上步骤后,即可开始使用 Zeek-PDNS 项目进行被动 DNS 收集。
zeek-pdns Passive DNS collection using Zeek 项目地址: https://gitcode.com/gh_mirrors/ze/zeek-pdns