Hi all, I have been fiddling around with CBOR while reading the C-DNS draft and there have been a couple of concerns that I wanted to solve such as: - representing broken DNS - being able to stream the format - data degradation/quality - support non-DNS information
And what better way to do it then to code it, so here it is! There is workable code in the develop branch of dnscap [1], you need tinycbor as describe in the README [2] and then you can specify the CDS format: dnscap [-i interface | -r pcap.file] -F cds -w /tmp/whatever I have included a decoder written in Python [3], it will need cbor2 library that you can install with pip: sudo pip3 install cbor2 contrib/cdsdump.py <file> It it not complete yet, there is still a lot of deduplication that can be made. For example the code is not doing the index thing as C-DNS does yet so there is still bits to be saved, but here are some numbers of the current work. Uncompressed | PCAP | CDS | Factor -------------|------------|-----------|------- client | 458373 | 133640 | 0,2915 zonalizer | 51769844 | 9450475 | 0,1825 large ditl | 1003931674 | 298167709 | 0,2970 small ditl | 1651252 | 603314 | 0,3653 There are more numbers in the CDS readme [4]. So you might wonder what the goal is and for now I can say is that I don't have any intentions to write a draft or be competitive with C-DNS, a lot of this work has been things we needed to tackle anyway. Hope this is helpful! Cheers, Jerry [1] https://github.com/DNS-OARC/dnscap [2] https://github.com/DNS-OARC/dnscap/blob/develop/README.md#cbor [3] https://github.com/DNS-OARC/dnscap/blob/develop/contrib/cdsdump.py [4] https://github.com/DNS-OARC/dnscap/blob/develop/CBOR_DNS_STREAM.md _______________________________________________ DNSOP mailing list DNSOP@ietf.org https://www.ietf.org/mailman/listinfo/dnsop