Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
LUCX_network_traffic_parser — Ein Framework für Netzwerkverkehrsanalyse und Merkmalsextraktion. | Kitploit
Tools/GitHubGitHub/doriguzzi/lucx_network_traffic_parser
Paket-Sniffing & AnalyseNetzwerkforensikNetzwerksicherheitMaschinelles LernenEinbruchserkennungPapers & ForschungAnomalieerkennungLog-Analyse
GitHubdoriguzzi/lucx_network_traffic_parser

LUCX_network_traffic_parser

Ein Framework für Netzwerkverkehrsanalyse und Merkmalsextraktion.

Repository anzeigen
4115vor 1 MonatNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

LUCX: LUCID network traffic parser eXtended

LUCX (LUCID network traffic parser eXtended) ist ein Netzwerkverkehrs-Parser, der sowohl mit vorab aufgezeichneten Verkehrsspuren im pcap-Format als auch mit live vom Netzwerkinterface erfasstem Netzwerkverkehr funktioniert. LUCX ist eine erweiterte Version des LUCID-Dataset-Parsers (https://github.com/doriguzzi/lucid-ddos). Wie die Originalversion erzeugt LUCX Verkehrsbeobachtungen, die mit den in bestehenden Online-Systemen gesammelten konsistent sind, bei denen die Erkennungsalgorithmen mit Segmenten von Verkehrsflüssen umgehen müssen, die über vordefinierte Zeitfenster gesammelt wurden. Darüber hinaus extrahiert LUCX mehr Merkmale (z. B. TLS-spezifische Merkmale) in zwei verschiedenen Formaten: Packet-Level und Statistical, die weiter unten in dieser README beschrieben werden.

Die Verkehrsvorverarbeitungsoperationen sind in zwei verschiedene Stufen unterteilt: Die erste extrahiert die Merkmale aus den Paketen und organisiert sie in Flüsse und Zeitfenster, die zweite führt die Merkmalsnormalisierung, das Padding (oder Flattening, je nach gewünschtem Ausgabeformat) durch und speichert Trainings-, Validierungs- und Testsätze im hdf5-Format.

Das Beispiel-Network Intrusion Detection System (NIDS), das in diesem Repository als Jupyter-Notebook bereitgestellt wird, kann verwendet werden, um Deep-Learning-Modelle (insbesondere ein Multi-Layer Perceptron (MLP) oder ein Convolutional Neural Network (CNN)) zu trainieren und zu evaluieren, wobei sowohl Packet-Level- als auch statistische Netzwerkverkehrsdarstellungen verwendet werden, die von LUCX erzeugt wurden.

Installation

LUCX ist in Python v3.X, Numpy und Pyshark implementiert. LUCX erfordert die Installation einer Reihe von Python-Werkzeugen und -Bibliotheken. Dies kann mithilfe der conda-Softwareumgebung erfolgen (https://docs.conda.io/projects/conda/en/latest/). Wir empfehlen die Installation von miniconda, einer leichten Version von conda. miniconda ist für MS Windows, MacOSX und Linux verfügbar und kann gemäß den unter https://docs.conda.io/en/latest/miniconda.html# verfügbaren Richtlinien installiert werden.

MS Windows 10 Version 2004 und höher (Build 19041 und höher) oder Windows 11 sind erforderlich. Unter MS Windows installieren Sie zunächst das Windows-Subsystem für Linux über die Befehlszeile: wsl.exe —install (siehe hier für weitere Informationen). Dieser Befehl installiert ein Ubuntu-Linux-Betriebssystem auf Ihrem Computer. Sie können auf die Linux-Befehlszeile zugreifen, indem Sie die WSL-App aus dem Windows-Menü ausführen, und dann den folgenden Richtlinien für das Linux-Betriebssystem folgen.

Öffnen Sie ein Terminal, führen Sie einen der folgenden Befehle aus (je nach Ihrem Betriebssystem) und folgen Sie den Anweisungen auf dem Bildschirm:

bash Miniconda3-latest-Linux-x86_64.sh (on Linux operating systems)
bash Miniconda3-latest-MacOSX-x86_64.sh (on macOS)

Erstellen Sie dann eine neue conda-Umgebung (namens python313) auf Basis von Python 3.13.5:

conda create -n python313 python=3.13.5

Aktiviere die neue python313-Umgebung:

conda activate python313

Und konfigurieren Sie die Umgebung mit der Installation einiger weiterer Pakete:

(python39)$ pip install scikit-learn h5py pyshark matplotlib graphviz pandas scikeras pydot seaborn

Pyshark wird für die Datenvorverarbeitung verwendet. Es ist lediglich ein Python-Wrapper für tshark, was bedeutet, dass auch tshark installiert sein muss. Auf einem Ubuntu-basierten Betriebssystem verwenden Sie den folgenden Befehl:

sudo apt install tshark

Unter macOS laden Sie einfach Wireshark von hier herunter und installieren es.

Bitte beachten Sie, dass der aktuelle Parser-Code mit wireshark/tshark Version 4.4.9 oder höher funktioniert.

Darstellungen von Traffic-Features

LUCX betrachtet bidirektionale Netzwerk-Traffic-Flows, die als Gruppen von Paketen definiert sind, die denselben 5‑Tupel-Identifikator oder dessen transponiertes 5‑Tupel teilen. Das 5‑Tupel ist eine gängige Methode, um einen Kommunikationsstrom in IP-Netzwerken eindeutig zu charakterisieren, und es besteht aus:

  • Quell-IP-Adresse
  • Ziel-IP-Adresse
  • Quell-Portnummer
  • Ziel-Portnummer
  • Transportprotokoll (z. B. TCP, UDP)

Wenn Pakete identische Werte für diese fünf Felder aufweisen, werden sie als Teil desselben Flows betrachtet. Das Konzept des transponierten 5‑Tupels berücksichtigt die bidirektionale Kommunikation: Wenn Quell- und Zieladressen/-ports vertauscht sind, das Protokoll jedoch gleich bleibt, werden die Pakete weiterhin als Teil desselben Flows betrachtet. Dadurch wird sichergestellt, dass beide Richtungen einer Konversation (Client → Server und Server → Client) zusammengefasst werden.

Beispiel: Angenommen, ein Client mit der IP 192.168.1.10 sendet eine TCP-Anfrage an einen Webserver mit der IP 203.0.113.5 auf Port 80. Der Client verwendet den Quellport 54321.

  • Vorwärtsrichtung (Client → Server):
    • Quell-IP: 192.168.1.10
    • Ziel-IP: 203.0.113.5
    • Quellport: 54321
    • Zielport: 80
    • Protokoll: TCP
  • Rückwärtsrichtung (Server → Client):
    • Quell-IP: 203.0.113.5
    • Ziel-IP: 192.168.1.10
    • Quellport: 80
    • Zielport: 54321
    • Protokoll: TCP

Beide Paketmengen gehören zum selben Traffic-Flow, da die Rückwärtsrichtung dem transponierten 5‑Tupel der Vorwärtsrichtung entspricht. Darüber hinaus unterteilt LUCX jeden Traffic-Flow, der aus Netzwerk-Traffic-Traces eines Datensatzes (oder dem eingehenden Netzwerk-Traffic) extrahiert wird, anhand von Zeitfenstern in Sub‑Flows. Diese Segmentierung simuliert reale Szenarien, in denen Traffic innerhalb statischer oder dynamischer Zeitfenster erfasst und anschließend zur Analyse an einen Klassifikator weitergeleitet wird. Auf diese Weise spiegelt das System die Betriebspraktiken von Intrusion-Detection-Systemen (IDS) wider, die häufig auf zeitlich begrenzter Paketaggregation basieren, um kurzfristige Verhaltensweisen zu identifizieren und Angriffe zu erkennen.

Nachdem die Pakete zu Flows gruppiert und die Flows weiter in Sub‑Flows unterteilt wurden, wandelt LUCX die Sub‑Flows in Samples um, die zum Trainieren, Validieren und Testen von ML-basierten Klassifikatoren verwendet werden können. Es gibt zwei mögliche Ausgabeformate: Arrays (wie in LUCID) oder Vektoren. Das erste Format bewahrt die direkt aus Paketen extrahierten Features, während das zweite statistische Darstellungen der Paket-Level-Features erzeugt. Diese beiden Betriebsmodi werden als Paket-Level-Features bzw. statistische Features bezeichnet.

Tool herunterladen