bwNetFlow

Main Repository for bwNetFlow - Open Source Network Flow Analysis Suite

This project is maintained by bwNetFlow

bwNetFlow

The bwNetFlow platform uses existing software and provides glue code to allow for large scale network flow analysis. BwNetFlow mainly uses goflow and Apache Kafka to process network flows in the form of protobuf messages.

Overview

We provide a set of tools working with Kafka as consumers, producers, or both (we call those processors) to establish a flow monitoring analysis pipeline. While these tools can be combined in any specific way, the core components and wiring in our use case is as follows:

These components of our platform have been built using our kafkaconnector library, which abstracts most of the recurrent code fragments and already makes resonable assumptions based on what we are doing.

Customers and Users

In our setup, customers interact with the bwNetFlow platform in one of two ways:

  1. they look at the dashboards we generate using Grafana, InfluxDB, and the aforementioned dashboard application
  2. they connect to Kafka themselves, using some custom tool written by them in a language of their choosing, given it supports Kafka and Protobuf. Some examples directly pulled from BelWü’s IP department can be found here. They include fancy printing, htop-style CLI viewers, flow field searches, bogon detection, and even Sqlite dumping of flows.

Additional Tools

To develop Kafka consumers/producers with C++ as these additional tools mostly are, our cpp_kafkaconnector library abstracts most of the recurrent code fragments and makes reasonable assumptions for our use case.

Deployment

Our main components are available from their respective repositories and also as container images (currently only via ghcr.io, see the Packages tab on our organization page). As for container deployments, have a look at the demo deployment for our customers (or our [fullstack docker-composable][docker-composable] coming soon…).

Additionally, we’re working to release our Ansible playbooks used for our currently largest deployment.

Media

See our presentation from SC19’s INDIS workshop here, or get the executive summary from our poster below.

bwNetFlow Poster