coredns/plugin/dnstap
Miek Gieben c2d93f7182 plugin/dnstap: some cleanup (#1172)
Some cleanup in proxy and dnstap:
* just use time pkg directly and side step the indirection for Epoch
* Use Set in SetQueryEpoch to be more Go like. (Looked like a reader)
* Don't maintain two sets of time, we already track start, so use that.
* Use time.Time and convert when needed
* dedent the toDnstap function and put in a separate file
2017-10-25 19:46:41 +01:00
..
dnstapio plugin/dnstap: don't spam Travis + valid dnstap payload (#1121) 2017-09-29 20:29:33 +01:00
msg plugin/dnstap: some cleanup (#1172) 2017-10-25 19:46:41 +01:00
out Adds the dnstap I/O routines and should fix some issues (#1083) 2017-09-26 11:45:33 -04:00
taprw plugin/dnstap: some cleanup (#1172) 2017-10-25 19:46:41 +01:00
test Remove the word middleware (#1067) 2017-09-14 09:36:06 +01:00
handler.go plugin/dnstap: some cleanup (#1172) 2017-10-25 19:46:41 +01:00
handler_test.go Adds the dnstap I/O routines and should fix some issues (#1083) 2017-09-26 11:45:33 -04:00
README.md doc update (#1140) 2017-10-10 09:39:35 +02:00
setup.go Adds the dnstap I/O routines and should fix some issues (#1083) 2017-09-26 11:45:33 -04:00
setup_test.go Remove the word middleware (#1067) 2017-09-14 09:36:06 +01:00

dnstap

dnstap enables logging to dnstap, a flexible, structured binary log format for DNS software: http://dnstap.info.

There is a buffer, expect at least 13 requests before the server sends its dnstap messages to the socket.

Syntax

dnstap SOCKET [full]
  • SOCKET is the socket path supplied to the dnstap command line tool.
  • full to include the wire-format DNS message.

Examples

Log information about client requests and responses to /tmp/dnstap.sock.

dnstap /tmp/dnstap.sock

Log information including the wire-format DNS message about client requests and responses to /tmp/dnstap.sock.

dnstap unix:///tmp/dnstap.sock full

Log to a remote endpoint.

dnstap tcp://127.0.0.1:6000 full

Dnstap command line tool

% go get github.com/dnstap/golang-dnstap
% cd $GOPATH/src/github.com/dnstap/golang-dnstap/dnstap
% go build
% ./dnstap

The following command listens on the given socket and decodes messages to stdout.

% dnstap -u /tmp/dnstap.sock

The following command listens on the given socket and saves message payloads to a binary dnstap-format log file.

% dnstap -u /tmp/dnstap.sock -w /tmp/test.dnstap

Listen for dnstap messages on port 6000.

% dnstap -l 127.0.0.1:6000