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

433 lines
13 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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
```bash
# 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
```bash
# 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
```bash
# 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
```bash
# 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
```bash
# 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
```bash
# 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
```bash
# 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)
```bash
# 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)
```bash
# 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
```bash
# 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