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.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
ayaFlow — Un analizzatore di traffico di rete ad alte prestazioni basato su eBPF, scritto in Rust. | Kitploit
Strumenti/GitHubGitHub/davidhavoc/ayaflow
Sniffing e Analisi dei PacchettiMappatura della ReteSicurezza di ReteSicurezza CloudAnalisi DNS
GitHubdavidhavoc/ayaflow

ayaFlow

Un analizzatore di traffico di rete ad alte prestazioni basato su eBPF, scritto in Rust.

Vedi Repository
28161272 mesi faRevisionato da Kitploit

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

ayaFlow

ayaFlow è un analizzatore di traffico di rete basato su Rust + eBPF, costruito con Aya. Esegue un agente per nodo Linux, attacca un classificatore TC in ingresso e uscita, espone dati di traffico in tempo reale, cronologia basata su SQLite e metriche Prometheus.

Cosa Fa

  • Cattura il traffico IPv4, IPv6, TCP e UDP con un classificatore TC eBPF.
  • Mantiene statistiche sulle connessioni in tempo reale in memoria e registri storici in SQLite.
  • Arricchisce opzionalmente il traffico con DNS inverso, domini di query DNS e SNI TLS.
  • Espone API REST, flusso WebSocket e endpoint Prometheus /metrics.
  • Include esempi per Docker, Kubernetes, Prometheus e Grafana.

Flusso di sviluppo supportato

Il runtime di cattura pacchetti di ayaFlow è solo Linux. I flussi di lavoro per i contributori sono divisi appositamente:

  • Controlli sicuri su host su macOS o Linux:
    • cargo test -p ayaflow-common
    • cargo test -p ayaflow
    • cargo xtask build-user
    • cargo xtask check-host
  • Build e runtime solo Linux:
    • cargo xtask build-ebpf
    • cargo xtask build
    • cargo xtask run -- --deep-inspect

Se sei su macOS, usa Docker o una VM Linux per l'intero flusso di lavoro eBPF. Vedi HOW_TO_USE_LOCAL.md per entrambi i percorsi.

Avvio rapido

1. Verifica il supporto dell'host

cargo xtask check-host

2. Compila su Linux

cargo xtask build

3. Esegui su Linux

sudo ./target/debug/ayaflow --db-path /tmp/traffic.db

Se --interface viene omesso, ayaFlow rileva automaticamente l'interfaccia predefinita da /proc/net/route e ricade su eth0 solo se il rilevamento fallisce.

4. Verifica

curl http://localhost:3000/api/health
curl http://localhost:3000/api/stats
curl "http://localhost:3000/api/history?limit=5&row_type=raw"
curl http://localhost:3000/metrics

Opzioni CLI

FlagDescrizionePredefinito
-i, --interfaceInterfaccia da monitorare. Ometti per rilevare automaticamente l'interfaccia di default su Linux.auto-rilevamento, fallback eth0
-p, --portPorta del server API3000
--db-pathPercorso del database SQLitetraffic.db
--connection-timeoutPulizia connessioni inattive in secondi60
--data-retentionEliminazione automatica cronologia più vecchia di N secondidisabilitato
--aggregation-windowMemorizza finestre di cronologia aggregate invece di righe di pacchetti grezzi0 (modalità grezza)
--allowed-ipsCIDR autorizzati ad accedere all'APIsenza restrizioni
-c, --configPercorso del file di configurazione YAMLnessuno
-q, --quietSopprime i log non di errorefalse
--deep-inspectAbilita estrazione query DNS + SNI TLSfalse
--enable-ipv6Abilita cattura pacchetti IPv6false
--resolve-dnsAbilita reverse DNS lookupfalse

Riferimento API

EndpointMetodoDescrizione
/api/healthGETStato di salute, contatori pacchetti e configurazione runtime attiva
/api/statsGETUptime, throughput, conteggi e configurazione runtime attiva
/api/liveGETTop 50 connessioni attive per conteggio pacchetti
/api/historyGETTraffico storico filtrabile con metadati di paginazione
/api/streamWSStatistiche in tempo reale ogni secondo
/metricsGETFormato testo Prometheus

/api/history supporta:

  • limit, offset
  • start_time, end_time
  • protocol
  • ip, src_ip, dst_ip
  • port, src_port, dst_port
  • direction
  • domain
  • row_type=raw|aggregated

Esempio:

curl "http://localhost:3000/api/history?limit=20&protocol=TCP&dst_port=443&row_type=raw"

Struttura del progetto

ayaflow/           Userspace runtime, API, storage, and host-safe tests
ayaflow-common/    Shared packet/event types used by userspace and eBPF
ayaflow-ebpf/      TC classifier and payload capture program
xtask/             Build and workflow helpers
k8s/               Kubernetes manifests
monitoring/        Prometheus and Grafana assets

L'albero src/ duplicato a livello di root è legacy e non fa parte del percorso di build supportato. Usa il crate ayaflow/ e i comandi cargo xtask sopra.

Guide di distribuzione

  • Flussi di lavoro Linux locale e macOS+VM: HOW_TO_USE_LOCAL.md
  • Docker: HOW_TO_USE_DOCKER.md
  • Kubernetes: HOW_TO_USE_K8S.md

Documentazione tecnica

  • Architettura: ARCHITECTURE.md
  • Note su impronta e prestazioni: PERFORMANCE.md

Testato qui

Il flusso di lavoro sicuro su host ora passa su questa macchina di sviluppo macOS con:

  • cargo test -p ayaflow-common
  • cargo test -p ayaflow
  • cargo xtask check-host

La validazione del runtime solo Linux deve ancora avvenire su un host Linux o su un runner CI con la toolchain eBPF installata.

Licenza

Questo progetto utilizza tre licenze diverse a seconda del componente:

Componenti userspace

L'agente userspace e le librerie comuni (ayaflow e ayaflow-common) sono dual-licensed sotto una delle seguenti:

  • Apache License, Version 2.0
  • MIT License

a tua scelta.

Componenti Kernel

I componenti kernel eBPF (ayaflow-ebpf) sono concessi in licenza strettamente sotto la GNU General Public License v2.0 (GPL) per garantire la compatibilità con il verificatore del kernel Linux.

Scarica lo strumento