Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
LUCX_network_traffic_parser — Un framework per l'analisi del traffico di rete e l'estrazione di feature. | Kitploit
Strumenti/GitHubGitHub/doriguzzi/lucx_network_traffic_parser
Sniffing e Analisi dei PacchettiNetwork ForensicsSicurezza di ReteMachine LearningRilevamento IntrusioniPaper e RicercaRilevamento di AnomalieAnalisi dei Log
GitHubdoriguzzi/lucx_network_traffic_parser

LUCX_network_traffic_parser

Un framework per l'analisi del traffico di rete e l'estrazione di feature.

Vedi Repository
41151 mese faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

LUCX: parser del traffico di rete LUCID eXtended

LUCX (LUCID network traffic parser eXtended) è un parser del traffico di rete che funziona sia con tracce di traffico pre-registrate in formato pcap sia con traffico di rete catturato in tempo reale da un'interfaccia di rete. LUCX è una versione estesa del parser del dataset LUCID (https://github.com/doriguzzi/lucid-ddos). Come la versione originale, LUCX produce osservazioni di traffico coerenti con quelle raccolte nei sistemi online esistenti, dove gli algoritmi di rilevamento devono gestire segmenti di flussi di traffico raccolti su finestre temporali predefinite. Inoltre, LUCX estrae più caratteristiche (ad esempio, caratteristiche specifiche per TLS) in due diversi formati: Packet-Level e Statistical, descritti di seguito in questo README.

Le operazioni di pre-elaborazione del traffico sono suddivise in due diverse fasi: la prima estrae le caratteristiche dai pacchetti e le organizza in flussi e finestre temporali, la seconda esegue la normalizzazione delle caratteristiche, il padding (o il flattening, a seconda del formato di output desiderato) e salva i set di training, validation e test in formato hdf5.

Il Network Intrusion Detection System (NIDS) di esempio, fornito in questo repository come notebook Jupyter, può essere utilizzato per addestrare e valutare modelli di Deep Learning (nello specifico un Multi-Layer Perceptron (MLP) o una Convolutional Neural Network (CNN)) utilizzando sia rappresentazioni del traffico di rete a livello di pacchetto sia statistiche generate da LUCX.

Installazione

LUCX è implementato in Python v3.X, Numpy e Pyshark. LUCX richiede l'installazione di una serie di strumenti e librerie Python. Questo può essere fatto utilizzando l'ambiente software conda (https://docs.conda.io/projects/conda/en/latest/). Suggeriamo l'installazione di miniconda, una versione leggera di conda. miniconda è disponibile per MS Windows, MacOSX e Linux e può essere installato seguendo le linee guida disponibili su https://docs.conda.io/en/latest/miniconda.html#.

Sono richiesti MS Windows 10 versione 2004 e successive (Build 19041 e successive) o Windows 11. In MS Windows, installare prima il sottosistema Windows per Linux dalla riga di comando: wsl.exe —install (vedere qui per maggiori informazioni). Questo comando installerà un sistema operativo Ubuntu Linux sul computer. È possibile accedere alla riga di comando Linux eseguendo l'app WSL dal menu di Windows, quindi seguire le linee guida per il sistema operativo Linux riportate di seguito.

Aprire un terminale, eseguire uno dei seguenti comandi (in base al sistema operativo) e seguire le istruzioni sullo schermo:

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

Poi crea un nuovo ambiente conda (chiamato python313) basato su Python 3.13.5:

conda create -n python313 python=3.13.5

Attiva il nuovo ambiente python313:

conda activate python313

E configura l'ambiente con l'installazione di alcuni altri pacchetti:

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

Pyshark viene utilizzato per la pre-elaborazione dei dati. È solo un wrapper Python per tshark, il che significa che deve essere installato anche tshark. Su un sistema operativo basato su Ubuntu, utilizzare il seguente comando:

sudo apt install tshark

In macOS, è sufficiente scaricare Wireshark da qui e installarlo.

Si noti che il codice attuale del parser funziona con wireshark/tshark versione 4.4.9 o superiore.

Rappresentazioni delle feature del traffico

LUCX considera flussi di traffico di rete bidirezionali, definiti come gruppi di pacchetti che condividono lo stesso identificatore a 5‑tuple o la sua 5‑tuple trasposta. La 5‑tuple è un modo comune per caratterizzare in modo univoco un flusso di comunicazione nelle reti IP, ed è composta da:

  • Indirizzo IP di origine
  • Indirizzo IP di destinazione
  • Numero di porta di origine
  • Numero di porta di destinazione
  • Protocollo di trasporto (ad es., TCP, UDP)

Quando i pacchetti hanno valori identici per questi cinque campi, sono considerati parte dello stesso flusso. Il concetto di 5‑tuple trasposta tiene conto della comunicazione bidirezionale: se gli indirizzi/porte di origine e destinazione sono scambiati ma il protocollo rimane lo stesso, i pacchetti sono comunque considerati parte dello stesso flusso. Questo garantisce che entrambe le direzioni di una conversazione (client → server e server → client) siano raggruppate insieme.

Esempio: Supponiamo che un client con IP 192.168.1.10 invii una richiesta TCP a un server web con IP 203.0.113.5 sulla porta 80. Il client utilizza la porta di origine 54321.

  • Direzione forward (client → server):
    • IP di origine: 192.168.1.10
    • IP di destinazione: 203.0.113.5
    • Porta di origine: 54321
    • Porta di destinazione: 80
    • Protocollo: TCP
  • Direzione reverse (server → client):
    • IP di origine: 203.0.113.5
    • IP di destinazione: 192.168.1.10
    • Porta di origine: 80
    • Porta di destinazione: 54321
    • Protocollo: TCP

Entrambi gli insiemi di pacchetti appartengono allo stesso flusso di traffico perché la direzione reverse corrisponde alla 5‑tuple trasposta della direzione forward. Inoltre, LUCX suddivide ciascun flusso di traffico estratto dalle tracce di traffico di rete di un dataset (o dal traffico di rete in ingresso) in sotto‑flussi basati su finestre temporali. Questa segmentazione simula scenari reali in cui il traffico viene raccolto all'interno di finestre temporali statiche o dinamiche e poi inoltrato a un classificatore per l'analisi. In questo modo, il sistema rispecchia le pratiche operative dei sistemi di rilevamento delle intrusioni (IDS), che spesso si basano sull'aggregazione di pacchetti limitata nel tempo per identificare comportamenti a breve termine e rilevare attacchi.

Dopo che i pacchetti sono stati raggruppati in flussi e i flussi sono stati ulteriormente suddivisi in sotto‑flussi, LUCX converte i sotto‑flussi in campioni che possono essere utilizzati per addestrare, validare e testare classificatori basati su ML. Sono possibili due formati di output: array (come in LUCID) o vettori. Il primo formato preserva le feature estratte direttamente dai pacchetti, mentre il secondo produce rappresentazioni statistiche delle feature a livello di pacchetto. Queste due modalità operative sono denominate rispettivamente feature packet‑level e feature statistical.

Scarica lo strumento