ids.alfacom.it/extracted_idf/COMANDI_TEST.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

4.7 KiB

Comandi di Test - Versioni Semplificate

File Creati

Sistema di Addestramento

  • analisys_01.py - Versione semplificata per addestramento modelli
    • Query database semplificate
    • Solo 50 feature invece di 125
    • Parametri ridotti per velocità massima
    • Timeout di connessione ridotti

Sistema di Rilevamento

  • detect_multi_02.py - Versione semplificata per rilevamento DDoS
    • Compatibile con modelli di analisys_01.py
    • Stessa logica di feature engineering
    • Gestione anomalie semplificata

Comandi di Test

1. Test Connessione Database

# Test addestramento
python3 analisys_01.py --test

# Test rilevamento (dopo aver addestrato i modelli)
python3 detect_multi_02.py --debug

2. Addestramento Modelli

# Addestramento base (50k record max)
python3 analisys_01.py --max-records 50000

# Addestramento con meno record per test veloce
python3 analisys_01.py --max-records 10000

# Addestramento forzato (ignora timestamp)
python3 analisys_01.py --force-training --max-records 20000

# Addestramento con debug
python3 analisys_01.py --debug --max-records 10000

3. Rilevamento DDoS

# Rilevamento singolo
python3 detect_multi_02.py --batch-size 5000

# Rilevamento con sensibilità alta (più anomalie)
python3 detect_multi_02.py --sensibility 3 --batch-size 5000

# Rilevamento con sensibilità bassa (meno anomalie)
python3 detect_multi_02.py --sensibility 7 --batch-size 5000

# Rilevamento in ciclo continuo
python3 detect_multi_02.py --ciclo --pausa 30 --batch-size 5000

# Rilevamento con debug
python3 detect_multi_02.py --debug --batch-size 1000

Sequenza di Test Completa

Passo 1: Test Connessione

python3 analisys_01.py --test

Risultato atteso: "Test SUPERATO"

Passo 2: Addestramento Veloce

python3 analisys_01.py --max-records 10000

Risultato atteso:

  • Estrazione dati in <30 secondi
  • Addestramento completato in <60 secondi
  • Modelli salvati in cartella models/

Passo 3: Verifica Modelli

ls -la models/

File attesi:

  • isolation_forest.joblib
  • lof.joblib
  • svm.joblib
  • ensemble_weights.joblib
  • preprocessor.joblib

Passo 4: Test Rilevamento

python3 detect_multi_02.py --batch-size 1000 --debug

Risultato atteso:

  • Caricamento modelli OK
  • Estrazione dati veloce
  • Rilevamento anomalie funzionante

Parametri Ottimizzati

analisys_01.py

  • --max-records: 10000-50000 (default: 50000)
  • --force-training: Per forzare riaddestramento
  • --test: Solo test connessione
  • --debug: Logging dettagliato

detect_multi_02.py

  • --batch-size: 1000-10000 (default: 10000)
  • --sensibility: 1-10 (default: 5)
    • 1 = massima sensibilità (più anomalie)
    • 10 = minima sensibilità (meno anomalie)
  • --ciclo: Esecuzione continua
  • --pausa: Secondi tra cicli (default: 60)
  • --debug: Logging dettagliato

Risoluzione Problemi

Errore "Database non raggiungibile"

# Verifica credenziali database
export DB_USER=root
export DB_PASSWORD=Hdgtejskjjc0-
export DB_HOST=localhost
export DB_DATABASE=LOG_MIKROTIK

Errore "Modello non trovato"

# Prima esegui addestramento
python3 analisys_01.py --force-training --max-records 10000

Errore "Nessun dato estratto"

# Verifica tabella Esterna
python3 analisys_01.py --test

Performance lente

# Riduci batch size
python3 analisys_01.py --max-records 5000
python3 detect_multi_02.py --batch-size 1000

Monitoraggio

File di Log

  • analisys_debug.log - Log addestramento
  • detect_debug.log - Log rilevamento

File di Stato

  • models/last_training.txt - Timestamp ultimo addestramento
  • last_analyzed_id.txt - Ultimo ID analizzato per rilevamento

Statistiche in Tempo Reale

Durante l'esecuzione vengono mostrate:

  • Tempo trascorso
  • Record processati
  • Anomalie trovate
  • IP analizzati

Note Tecniche

Differenze dalle Versioni Originali

  1. Query semplificate: Niente filtri temporali complessi
  2. Feature ridotte: 50 invece di 125 per velocità
  3. Parametri modelli ridotti: Meno estimatori, campioni limitati
  4. Timeout ridotti: 15-30 secondi invece di 5 minuti
  5. Gestione errori migliorata: Fallback e recovery automatici

Compatibilità

  • analisys_01.py genera modelli compatibili con detect_multi_02.py
  • Stessa logica di feature engineering per consistenza
  • Formato file modelli standard joblib

Performance Attese

  • Addestramento: 1-3 minuti per 10k record
  • Rilevamento: 5-15 secondi per 1k record
  • Memoria: <1GB RAM utilizzata
  • CPU: Utilizzo moderato (2-4 core)