Skip to content

bpatenko/heiDPI

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

heiFIP Logo


nDPId Docker Image for deep packet inspection. As described in nDPId, we split the image into producer and consumer image for a more generic purpose. For the producer, the image starts the UNIX and UDP socket and nDPId respectively. Via environment variables, users can adapt the nDPId daemon and nDPIsrvd. As by now, we support all current nDPId parameters.

Conumer

Live Notebook live notebook
Latest Release latest release
Supported Versions python3 pypy3
Project License License
Continuous Integration Linux WorkFlows Docker WorkFlows

Producer

Continuous Integration Docker WorkFlows

Getting Started

Prerequisities

In order to run this container you'll need docker installed.

Usage

Pull images:

docker pull stefan96/heidpi-producer:main
docker pull stefan96/heidpi-consumer:main

Run producer and consumer separately from each other using UDP socket:

docker run -p 127.0.0.1:7000:7000 --net host stefan96/heidpi-producer:main
docker run -e HOST=127.0.0.1 --net host stefan96/heidpi-consumer:main

or use the docker-compose.yml:

docker-compose up

Additionally, you use a UNIX socket:

docker run -v ${PWD}/heidpi-data:/tmp/ --net host stefan96/heidpi-producer:main
docker run -v ${PWD}/heidpi-data:/tmp/ -v ${PWD}/heidpi-logs:/var/log -e UNIX=/tmp/nDPIsrvd-daemon-distributor.sock --net host stefan96/heidpi-consumer:main

Configuration

For a more detail view on how to customize your images, see:

Dashboarding

Das Dashboard-Modul bietet eine visuelle Oberfläche zur Analyse und Überwachung von Netzwerk-Flow-Events, die durch heiDPI generiert und mittels Loki in Grafana bereitgestellt werden.

Dashboard

Das Dashboard gliedert sich in zwei Hauptbereiche:

  1. Übersichtspanels:

    • Count Flows by Breed Type: Balkendiagramm zur Darstellung der Anzahl von Flow-Events nach Klassifizierung (ndpi_breed).
    • Flow Events Time Plot: Zeitreihenvisualisierung der Flow-Rate zur Erkennung zeitlicher Trends.
    • Unsafe & Tracking Flows: Tabelle mit Flows klassifiziert als Unsafe oder Tracker/Ads.
    • Potentially Dangerous & Dangerous Flows: Flows mit erhöhtem Sicherheitsrisiko.
    • Unrated Flows: Flows ohne Bewertung zur weiteren Untersuchung.
  2. Detailansicht pro Flow-ID:

    • Selektierbare Variable Flow ID erlaubt das gezielte Anzeigen und Analysieren einzelner Flows in dedizierten Panels.

Alerts

Das System beinhaltet eine Alert-Regel zur Erkennung gefährlicher Flows:

  • Dangerous Flow Events Alert: Überwacht Flows mit ndpi_breed="Dangerous" und löst eine Warnung bei erkennung aus. Die Benachrichtigung verweist auf das Dashboard zur detaillierten Analyse.

Hinweis: Die URL des Webhooks muss vor dem produktiven Einsatz in der Datei ./grafana-data/provisioning/alerting/contact-points.yml angepasst werden.

Provisionierung

Die Dashboard Funktionalität wird über docker compose gesteuert und startet zusammen mit heiDPI. Grafana ist unter localhost:3000 erreichbar.

License

This project is licensed under the GPL-3.0 license - see the LICENSE.md file for details.

About

nDPId Docker Image for packet inspection

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 56.3%
  • Rust 32.1%
  • C 3.9%
  • Shell 3.8%
  • Nix 3.2%
  • Dockerfile 0.7%