Replit-Commit-Author: Agent Replit-Commit-Session-Id: 7a657272-55ba-4a79-9a2e-f1ed9bc7a528 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Event-Id: 1c71ce6e-1a3e-4f53-bb5d-77cdd22b8ea3
13 KiB
13 KiB
Comandi di Test - Versioni con Feedback Dettagliato
File Creati - Versioni v02 e v03
Sistema di Addestramento con Feedback
- analisys_02.py - Versione con feedback visivo dettagliato
- Progress bar animate con percentuali
- Spinner per operazioni in corso
- Statistiche dettagliate in tempo reale
- Colori e emoji per migliore UX
- Informazioni su protocolli, IP e host rilevati
Sistema di Rilevamento con Feedback
- detect_multi_03.py - Versione con statistiche live
- Dashboard in tempo reale con metriche
- Contatori anomalie e IP bloccati
- Velocità di processamento
- Progress batch con ETA
- Feedback colorato per ogni operazione
Comandi di Test - Versioni con Feedback
1. Test Connessione Database
# Test addestramento con feedback dettagliato
python3 analisys_02.py --test
# Test rilevamento con feedback live
python3 detect_multi_03.py --debug --batch-size 1000
2. Addestramento con Feedback Visivo
# Addestramento con progress bar e statistiche
python3 analisys_02.py --max-records 10000
# Addestramento forzato con feedback completo
python3 analisys_02.py --force-training --max-records 20000 --debug
# Test veloce con feedback
python3 analisys_02.py --max-records 5000
Output atteso:
🤖 SISTEMA ADDESTRAMENTO DDoS v02 - FEEDBACK DETTAGLIATO
================================================================
ℹ Configurazione: max 10,000 record
ℹ Debug mode: OFF
ℹ Force training: OFF
▶ FASE: Connessione al database
ℹ Host: localhost
ℹ Database: LOG_MIKROTIK
ℹ User: root
✓ Creazione connessione...
✓ Test connessione...
✓ Database connesso con successo
🚀 AVVIO: Estrazione Dati
📊 Passi totali: 4
[████████████████████████████████] 100.0% (4/4) ⏱️ 2.3s ⏳ N/A
└─ Finalizzazione estrazione...
✅ COMPLETATO: Estrazione Dati in 2.3 secondi
ℹ Record estratti: 10,000
ℹ Colonne disponibili: ['ID', 'Data', 'Ora', 'Host', 'IndirizzoIP', 'Messaggio1', 'Messaggio2', 'Messaggio3']
ℹ Range ID: 1,234,567 - 1,244,567
3. Rilevamento con Dashboard Live
# Rilevamento singolo con statistiche live
python3 detect_multi_03.py --batch-size 5000 --sensibility 5
# Rilevamento in ciclo con dashboard
python3 detect_multi_03.py --ciclo --pausa 30 --batch-size 3000 --sensibility 3
# Rilevamento debug con feedback completo
python3 detect_multi_03.py --debug --batch-size 1000 --sensibility 7
Output atteso:
🛡️ SISTEMA RILEVAMENTO DDoS v03 - FEEDBACK DETTAGLIATO
======================================================================
ℹ Configurazione batch: 5,000 record
ℹ Sensibilità rilevamento: 5/10
ℹ Debug mode: OFF
ℹ Modalità ciclo: OFF
▶ FASE: Caricamento modelli di machine learning
ℹ Verifica file modello: /path/to/models/isolation_forest.joblib
ℹ Dimensione file modello: 245.3 KB
✓ Caricamento Isolation Forest...
✓ ✓ Isolation Forest caricato
✓ Caricamento preprocessor...
✓ ✓ Preprocessor caricato (50 feature)
🎯 Tutti i modelli caricati con successo
======================================================================
📊 STATISTICHE RILEVAMENTO DDoS - TEMPO REALE
======================================================================
⏱️ Tempo trascorso: 15.3s
📈 Record processati: 5,000
🚨 Anomalie trovate: 23
🔍 IP analizzati: 1,247
🛡️ IP bloccati: 23
⚡ Velocità: 326.8 record/sec
📊 Tasso anomalie: 0.46%
📦 Batch: 1/1 (100.0%) - ETA: N/A
======================================================================
🚨 Gestione anomalia per IP: 192.168.1.100
🎯 IP 192.168.1.100 inserito/aggiornato nella tabella Fibra
🚨 IP bloccati in questo batch: 23
ℹ Esempi IP bloccati: 192.168.1.100, 10.0.0.50, 172.16.0.25
4. Modalità Ciclo Continuo con Countdown
# Ciclo continuo con feedback visivo
python3 detect_multi_03.py --ciclo --pausa 60 --batch-size 2000
Output atteso:
🔄 Modalità ciclo continuo attivata
==================================================
🔄 CICLO 1
==================================================
[... esecuzione rilevamento ...]
🎯 Ciclo 1 completato con successo
ℹ Pausa di 60 secondi prima del prossimo ciclo...
⏳ Prossimo ciclo tra: 60s
⏳ Prossimo ciclo tra: 59s
⏳ Prossimo ciclo tra: 58s
[... countdown ...]
Confronto Versioni
Versioni Base (v01/v02)
- Output minimale
- Solo messaggi essenziali
- Nessun feedback visivo
Versioni con Feedback (v02/v03)
- Progress bar animate
- Spinner per operazioni lunghe
- Statistiche in tempo reale
- Colori e emoji
- Dashboard live
- Countdown visivi
- Informazioni dettagliate su ogni operazione
Parametri Ottimizzati per Feedback
analisys_02.py
# Test veloce con feedback completo
python3 analisys_02.py --max-records 5000 --debug
# Addestramento normale con progress
python3 analisys_02.py --max-records 20000
# Forzato con feedback dettagliato
python3 analisys_02.py --force-training --max-records 10000
detect_multi_03.py
# Rilevamento con dashboard live
python3 detect_multi_03.py --batch-size 3000 --sensibility 4
# Ciclo continuo con statistiche
python3 detect_multi_03.py --ciclo --pausa 45 --batch-size 2000
# Debug completo
python3 detect_multi_03.py --debug --batch-size 1000 --sensibility 6
Monitoraggio Avanzato
Informazioni Mostrate in Tempo Reale
Durante l'Addestramento:
- Progress bar per ogni fase
- Tempo trascorso e rimanente
- Dettagli su protocolli rilevati
- Statistiche host e IP
- Dimensioni file modelli salvati
- Tempo di addestramento per ogni algoritmo
Durante il Rilevamento:
- Dashboard con metriche live
- Velocità di processamento
- Tasso di anomalie
- IP analizzati vs bloccati
- Progress batch con ETA
- Esempi di IP bloccati
- Countdown tra cicli
File di Log Dettagliati
analisys_debug.log- Log addestramento con timestampdetect_debug.log- Log rilevamento con dettagli anomalie
Risoluzione Problemi con Feedback
Se il sistema sembra bloccato:
- Le progress bar mostrano l'avanzamento reale
- Gli spinner indicano operazioni in corso
- I dettagli mostrano cosa sta elaborando
Per monitorare performance:
- Velocità di processamento in tempo reale
- Tempo stimato di completamento
- Statistiche cumulative
Per debug:
- Usa
--debugper informazioni dettagliate - Controlla i file di log per errori
- Le statistiche live mostrano eventuali problemi
Note Tecniche
Compatibilità
- analisys_02.py è compatibile con detect_multi_03.py
- Stessa logica di feature engineering
- Formato modelli identico
Performance
- Il feedback visivo ha impatto minimo sulle performance
- Progress bar aggiornate ogni 2-3 secondi
- Statistiche calcolate in background
Personalizzazione
- Colori configurabili nel codice
- Frequenza aggiornamenti modificabile
- Livello di dettaglio regolabile
COMANDI TEST SISTEMA DDoS v02 - FEEDBACK DETTAGLIATO
🎯 COMANDI PRINCIPALI
🔧 Test Connessione Database
# Test connessione database (veloce, non si blocca)
python analisys_02.py --test
# Test con debug dettagliato
python analisys_02.py --test --debug
🎭 Modalità Demo (Senza Database)
# Test rapido con dati simulati (2-3 secondi)
python analisys_02.py --demo --max-records 500
# Test più completo
python analisys_02.py --demo --max-records 2000
# Con debug dettagliato
python analisys_02.py --demo --debug --max-records 1000
🚀 Addestramento Normale (Database Richiesto)
# Addestramento standard (rispetta intervallo 12h)
python analisys_02.py --max-records 50000
# Forza addestramento immediato
python analisys_02.py --force-training --max-records 50000
# Cambia frequenza addestramento (es: ogni 1 ora)
python analisys_02.py --training-hours 1.0 --max-records 50000
# Cambia frequenza addestramento (es: ogni 30 minuti)
python analisys_02.py --training-hours 0.5 --max-records 50000
# Addestramento con dataset ridotto
python analisys_02.py --force-training --max-records 10000
# Debug completo
python analisys_02.py --force-training --debug --max-records 5000
⚙️ Configurazione Database
# Mostra configurazione attuale
python config_database.py
# Modifica config_database.py per server remoto:
# DB_HOST = "192.168.1.100" # IP del tuo server
# DB_PORT = "3306" # Porta
# DB_USER = "username" # Username
# DB_PASSWORD = "password" # Password
📊 ESEMPI OUTPUT ATTESO
✅ Test Connessione Riuscito
============================================================
🤖 SISTEMA ADDESTRAMENTO DDoS v02 - FEEDBACK DETTAGLIATO
============================================================
ℹ Host: localhost:3306
ℹ Database: LOG_MIKROTIK
ℹ User: root
✓ Database connesso con successo
✓ Query base funzionante
✓ Tabella Esterna trovata
ℹ ✓ Esempio ID record: 1
ℹ ✓ Prime colonne: ID, Tipo, Data, Ora, Host
ℹ ✓ ID massimo: 692,766,739
✓ 🎉 Tutti i test database superati!
🎭 Modalità Demo
🎭 Modalità DEMO: Utilizzando dati simulati invece del database
▶ FASE: Generazione dati simulati
🚀 AVVIO: Simulazione Dataset
[██████████████████████████████] 100.0% (3/3) ⏱️ 1.6s
✓ Dataset simulato creato: 500 record
▶ FASE: Preparazione dati per addestramento
🚀 AVVIO: Preparazione Features
[██████████████████████████████] 100.0% (6/6) ⏱️ 0.1s
✓ Matrice preparata: 500 esempi × 50 feature
▶ FASE: Addestramento modelli di machine learning
🚀 AVVIO: Addestramento Modelli
[██████████████████████████████] 100.0% (7/7) ⏱️ 0.3s
✓ Isolation Forest completato in 0.1s
✓ LOF completato in 0.2s
✓ SVM completato in 0.0s
🎭 ADDESTRAMENTO DEMO COMPLETATO CON SUCCESSO!
✓ Tempo totale: 2.4 secondi
✓ Campioni processati: 500
✓ Feature generate: 50
⏭️ Addestramento Non Necessario
ℹ 📅 Ultimo addestramento: 2025-05-29 17:19:57
ℹ ⏰ Ore trascorse: 0.2
✓ ⏭️ Addestramento non necessario (<12h)
⏭️ ADDESTRAMENTO NON NECESSARIO
🚀 Addestramento in Corso
▶ FASE: Estrazione dati da server remoto (max 50,000 record)
🚀 AVVIO: Estrazione Dati Remoti
[██████████████████████████████] 100.0% (5/5) ⏱️ 12.3s
✓ Estratti 45,678 record in 12.3 secondi dal server remoto
▶ FASE: Preparazione dati per addestramento
🚀 AVVIO: Preparazione Features
ℹ Preparazione feature per 45,678 campioni
✓ Feature temporali estratte da Data/Ora
ℹ ✓ Protocolli rilevati: {'TCP': 12450, 'UDP': 8901, 'HTTP': 3456}
ℹ ✓ Host FIBRA: 34567, Host vuoti: 234
ℹ ✓ IP unici elaborati: 12,345
ℹ ✓ Range ID: 692720061 - 692766739
✓ Matrice preparata: 45,678 esempi × 50 feature
▶ FASE: Addestramento modelli di machine learning
🚀 AVVIO: Addestramento Modelli
ℹ 🌲 Configurazione: 30 alberi, 500 campioni max
✓ Isolation Forest completato in 2.1s
ℹ 🔍 LOF su campione di 5,000 esempi
✓ LOF completato in 4.3s
ℹ ⚙️ SVM su campione di 2,000 esempi
✓ SVM completato in 1.2s
ℹ 🎯 Pesi ensemble: IF=0.7, LOF=0.2, SVM=0.1
✓ Tutti i modelli salvati in 0.5s
🎉 ADDESTRAMENTO COMPLETATO CON SUCCESSO!
✓ Tempo totale: 24.7 secondi
✓ Campioni processati: 45,678
✓ Feature generate: 50
✓ Modelli salvati in: C:\RADIUS_DATA_TRANSFER\SITI\LOGMONGO\Root\models
🚨 RISOLUZIONE PROBLEMI
❌ Database Non Connesso
✗ Test connessione fallito: Can't connect to MySQL server
💡 Suggerimenti:
- Verifica che MySQL/MariaDB sia attivo su localhost:3306
- Per server remoto, modifica DB_HOST nel codice
- Oppure usa variabili d'ambiente: set DB_HOST=ip_server_remoto
- Per test senza database usa: --demo
Soluzione: Usa --demo o configura config_database.py
⚠️ Troppi Pochi Campioni
✗ Troppo pochi campioni: 100 < 500
Soluzione: Usa almeno --max-records 500
🔄 Addestramento Saltato
✓ ⏭️ Addestramento non necessario (<12h)
Soluzioni:
--force-trainingper forzare--training-hours 0.5per cambiare frequenza--training-hours 1.0per ogni ora
📝 NOTE IMPORTANTI
- Requisiti minimi: 500 record per addestramento
- Modalità demo: Perfetta per test e sviluppo
- Frequenza addestramento: Configurabile da 0.1 ore (6 min) a ore/giorni
- Server remoto: Configurare
config_database.py - Timeout: Ottimizzati per server remoti (5 secondi)
- Compatibilità: Windows con PowerShell
- Modelli: Salvati in cartella
models/locale