/go-dnscollector

Ingestor, aggregator and distributor for your DNS logs with usage indicators and security analysis

Primary LanguageGoMIT LicenseMIT

DNS-collector

Go Report Card Go version

Go Tests Github Actions Github Actions PDNS

NOTE: The code before version 1.x is considered beta quality and is subject to breaking changes.

DNS-collector acts as a passive high speed ingestor, aggregator and distributor for your DNS logs with usage indicators and security analysis, written in Golang. The DNS traffic can be collected and aggregated from simultaneously sources like DNStap streams, network interface or log files and relays it to multiple other listeners with some transformations on it (traffic filtering, user privacy, ...).

Additionally, DNS-collector also support

dnscollector

overview

Features

Get Started

Download the latest release binary and start the DNS-collector with the provided configuration file. The default configuration listens on tcp/6000 for a DNSTap stream and DNS logs are printed on standard output.

./go-dnscollector -config config.yml

If you prefer run it from docker, follow this guide.

Configuration

The configuration of DNS-collector is done through a file named config.yml. When the DNS-collector starts, it will look for the config.yml from the current working directory.

See the full configuration guide for more details.

Usage examples

The _examples folder from documentation contains a number of various configurations to get you started with the DNS-collector in differentes ways.

Contributing

See the development guide for more information on how to build it yourself.