How's your python? Download
https://github.com/m3047/shodohflo/blob/master/examples/dnstap2json.py
and see if you can make that go. Well really, download the entire repo.
The framestreams implementation is here:
https://github.com/m3047/shodohflo/blob/master/shodohflo/fstrm.py
I make no apologies for framestreams, I think think they could have done
better borrowing from how DNS does TCP but that's just my opinion. In any
case, it requires a "notary sojack" (handshake) from the "server"... yes
your client is the server. Is whatever you're using as a sink sending the
handshake?
(There is a complete pure python implementation of framestreams / protobuf
in there.)
--
Fred Morris, internet plumber
On Sat, 27 Jun 2026, Peter 'PMc' Much wrote:
A while back I upgraded an internal server from 9.18 to 9.20.
Everything works fine there.
Now I upgraded a public server (rented KVM). Same config, same
infrastructure. It probably works, but there is no dnstap output, so I
am blind.
I put a hexdump on the socket like so (before starting named):
root@wand:/tmp # /usr/bin/stdbuf -o 0 /usr/local/bin/fstrm_capture \
-t protobuf:dnstap.Dnstap -u /var/named//var/run/dnstap.sock -w - | hd
fstrm_capture: opening Unix socket path /var/named//var/run/dnstap.sock
fstrm_capture: opened output file -
00000000 00 00 00 00 00 00 00 22 00 00 00 02 00 00 00 01 |......."........|
00000010 00 00 00 16 70 72 6f 74 6f 62 75 66 3a 64 6e 73 |....protobuf:dns|
And that is all that appears.
[...]
--
Visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe from
this list.