
[NFStream][repo] è un framework Python multipiattaforma che fornisce strutture dati veloci, flessibili ed espressive progettate per rendere il lavoro con dati di rete online o offline facile e intuitivo. Il suo obiettivo è diventare il fondamentale blocco costitutivo di alto livello di Python per l'analisi pratica di dati di flusso di rete nel mondo reale. Inoltre, ha l'obiettivo più ampio di diventare un framework unificante per l'analisi dei dati di rete per i ricercatori, fornendo riproducibilità dei dati tra gli esperimenti.
| Notebook live |
|
| Sito del progetto |
|
| Canale di discussione |
|
| Ultima versione |
|
| Versioni supportate |
|
| Licenza del progetto |
|
| Integrazione continua |
|
| Qualità del codice |
|
Indice
Caratteristiche principali
- Performance: NFStream è progettato per essere veloce: [AF_PACKET_V3/FANOUT][packet] su Linux, multiprocessing, motore di calcolo nativo basato su [CFFI][cffi] e pieno supporto per [PyPy][pypy].
- Visibilità crittografata di livello 7: L'ispezione approfondita dei pacchetti di NFStream si basa su [nDPI][ndpi]. Consente a NFStream di effettuare un'identificazione [affidabile][reliable] delle applicazioni crittografate e il fingerprinting dei metadati (ad es. TLS, SSH, DHCP, HTTP).
- Visibilità di sistema: NFStream sonda il kernel del sistema monitorato per ottenere informazioni sui socket Internet aperti e raccoglie ground-truth garantito (nome del processo, PID, ecc.) a livello di applicazione.
- Estrazione di caratteristiche statistiche: NFStream fornisce lo stato dell'arte nell'estrazione di caratteristiche statistiche basate sui flussi. Include caratteristiche statistiche post-mortem (ad es. minimo, media, deviazione standard e massimo della dimensione dei pacchetti e del tempo tra arrivi) e caratteristiche precoci dei flussi (ad es. sequenza delle dimensioni dei primi n pacchetti, tempi tra arrivi e direzioni).
- Flessibilità: NFStream è facilmente estendibile utilizzando [NFPlugins][nfplugin]. Permette la creazione di una nuova caratteristica del flusso in poche righe di Python.
- Orientato al Machine Learning: NFStream mira a rendere riproducibili e distribuibili gli approcci di Machine Learning per la gestione del traffico di rete. Utilizzando NFStream come framework comune, i ricercatori assicurano che i modelli siano addestrati con la stessa logica di calcolo delle caratteristiche, e quindi un confronto equo è possibile. Inoltre, i modelli addestrati possono essere distribuiti e valutati su reti live utilizzando [NFPlugins][nfplugin].
Come ottenerlo?