shodohflo

Pure Python netflow and DNS correlation, with reusable Frame Streams, DnsTap and Protobuf implementations (by m3047)

Shodohflo Alternatives

Similar projects and alternatives to shodohflo

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better shodohflo alternative or higher similarity.

shodohflo discussion

Log in or Post with

shodohflo reviews and mentions

Posts with mentions or reviews of shodohflo. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-05-17.
  • Demystifying the Protobuf Wire Format
    4 projects | news.ycombinator.com | 17 May 2024
    It was also used for Farsight's tunnelled SIE called NMSG. I wrote a pure python protobuf dissector implementation for use with Scapy (https://scapy.readthedocs.io/en/latest/introduction.html) for dissecting / tasting random protobuf traffic. I packaged it with an NMSG definition (https://github.com/m3047/tahoma_nmsg).

    I re-used the dissector for my Dnstap fu, which has since been refactored to a simple composable agent (https://github.com/m3047/shodohflo/tree/master/agents) based on what was originally a demo program (https://github.com/m3047/shodohflo/blob/master/examples/dnst...) because "the people have spoken".

    Notice that the demo program (and by extension dnstap_agent) convert protobuf to JSON: the demo program is "dnstap2json". It's puzzlingly shortsighted to me that the BIND implementation is not network aware it only outputs to files or unix sockets.

    The moment I start thinking about network traffic / messaging the first question in my mind is "network or application", or "datagram or stream"? DNS data is emblematic of this in the sense that the protocol itself supports both datagrams and streams, recognizing that there are different use cases for distributed key-value store. JSON seems punctuation and metadata-heavy for very large amounts of streaming data, but a lot of use cases for DNS data only need a few fields of the DNS request or response so in practice cherry picking fields to pack into a JSON datagram works for a lot of classes of problems. In my experience protobuf suffers from a lack of "living off the land" options for casual consumption, especially in networked situations.

  • Python Asyncio: The Complete Guide
    4 projects | news.ycombinator.com | 10 Nov 2022

Stats

Basic shodohflo repo stats
2
14
7.1
13 days ago

m3047/shodohflo is an open source project licensed under Apache License 2.0 which is an OSI approved license.

The primary programming language of shodohflo is Python.


Sponsored
Free Django app performance insights with Scout Monitoring
Get Scout setup in minutes, and let us sweat the small stuff. A couple lines in settings.py is all you need to start monitoring your apps. Sign up for our free tier today.
www.scoutapm.com