Skip to content

Aggregator, analyzer, transporter and logging for your DNS logs

License

Notifications You must be signed in to change notification settings

Thermi/go-dns-collector

 
 

Repository files navigation

DNS-collector

Go Report Card 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 aggregator, analyzer, transporter and logging for your DNS messages, written in Golang. The DNS traffic can be collected and aggregated from simultaneously sources like DNStap streams, network interface or log files and redirect them to several destinations with some transformations on it (filtering, sampling, privacy, ...). DNS-collector also contains DNS parser with EDNS support.

overview

Supported collectors:

Supported loggers:

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.

Examples:

You will find below some examples of configuration to manage your DNS logs.

Contributing

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

About

Aggregator, analyzer, transporter and logging for your DNS logs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 93.6%
  • Python 6.2%
  • Other 0.2%