# 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 ```bash # Test addestramento python3 analisys_01.py --test # Test rilevamento (dopo aver addestrato i modelli) python3 detect_multi_02.py --debug ``` ### 2. Addestramento Modelli ```bash # 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 ```bash # 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 ```bash python3 analisys_01.py --test ``` **Risultato atteso:** "Test SUPERATO" ### Passo 2: Addestramento Veloce ```bash 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 ```bash ls -la models/ ``` **File attesi:** - `isolation_forest.joblib` - `lof.joblib` - `svm.joblib` - `ensemble_weights.joblib` - `preprocessor.joblib` ### Passo 4: Test Rilevamento ```bash 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" ```bash # Verifica credenziali database export DB_USER=root export DB_PASSWORD=Hdgtejskjjc0- export DB_HOST=localhost export DB_DATABASE=LOG_MIKROTIK ``` ### Errore "Modello non trovato" ```bash # Prima esegui addestramento python3 analisys_01.py --force-training --max-records 10000 ``` ### Errore "Nessun dato estratto" ```bash # Verifica tabella Esterna python3 analisys_01.py --test ``` ### Performance lente ```bash # 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)