ids.alfacom.it/extracted_idf/COMANDI_TEST_v2.md
marco370 0bfe3258b5 Saved progress at the end of the loop
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
2025-11-11 09:15:10 +00:00

13 KiB
Raw Blame History

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 timestamp
  • detect_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 --debug per 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-training per forzare
  • --training-hours 0.5 per cambiare frequenza
  • --training-hours 1.0 per ogni ora

📝 NOTE IMPORTANTI

  1. Requisiti minimi: 500 record per addestramento
  2. Modalità demo: Perfetta per test e sviluppo
  3. Frequenza addestramento: Configurabile da 0.1 ore (6 min) a ore/giorni
  4. Server remoto: Configurare config_database.py
  5. Timeout: Ottimizzati per server remoti (5 secondi)
  6. Compatibilità: Windows con PowerShell
  7. Modelli: Salvati in cartella models/ locale