Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
dwipe — Strumento per cancellare in modo sicuro ed efficiente dispositivi e partizioni per Linux. | Kitploit
Strumenti/GitHubGitHub/joedefen/dwipe
Utilità GenericheStrumenti di Crittografia/DecrittografiaInformatica ForenseRecupero DatiSicurezza HardwareUtilità e Framework
GitHubjoedefen/dwipe

dwipe

Strumento per cancellare in modo sicuro ed efficiente dispositivi e partizioni per Linux.

Vedi Repository
164106 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

dwipe

dwipe è uno strumento per cancellare dischi e partizioni su Linux per proteggere i tuoi dati. dwipe mira a ridurre gli errori fornendo ampie informazioni sui tuoi dispositivi durante la selezione.

Demo of dwipe

Confronto Rapido

Caratteristicadwipenwipeshreddd
Cancellazioni firmware (secure erase SATA/NVMe)✓✗✗✗
Cancellazioni software (Zero, Pseudo Random)✓✓✓✗
TUI interattiva✓✓✗✗
Cancellazioni multiple simultanee✓✗✗✗
Stato di cancellazione persistente✓✗✗✗
Rilevamento / rilascio hot-swap✓✗✗✗
Blocco dispositivo/partizione✓✗✗✗
Riprendi cancellazioni software interrotte✓✗✗✗
Registrazione delle operazioni di cancellazione✓✗✗✗
Rilevamento/prevenzione mount✓✓✗✗
Verifica rapida con campionamento statistico✓✗✗✗
Distruzione certificata (standard DoD/Gutmann, verifica completa, certificati)✗✓✗✗
  • Le cancellazioni firmware (SATA/NVMe) sono le più complete e veloci: La cancellazione accelerata via hardware opera a livello di controller (da secondi a minuti), cancella tutte le mappature del drive, ma richiede la cancellazione dell'intero dispositivo senza report di avanzamento o verifica visibile.
  • Le cancellazioni software con un singolo passaggio di zeri sono sufficienti: I drive moderni (post-2001) vengono cancellati in modo affidabile con un singolo passaggio di zeri (NIST SP 800-88). Le modalità multi-passaggio sono disponibili per maggiore fiducia ma non offrono garanzie di sicurezza aggiuntive.
  • La verifica utilizza un intelligente campionamento statistico: Anche l'1% di campioni di verifica su tutto il disco tramite 100 sezioni garantisce una copertura completa senza lettura sequenziale integrale.

Caratteristiche Principali

  • TUI interattiva con rilevamento hot-swap - La lista dei dispositivi si aggiorna in tempo reale al variare dello storage; i dispositivi appena aggiunti sono contrassegnati con ^
  • Cancellazioni firmware accelerate via hardware - Supporto completo per operazioni di secure erase a livello firmware (NVMe Sanitize/Format, SATA ATA Security Erase) che si completano in secondi o minuti invece che ore
  • Cancellazioni multiple simultanee - Avvia cancellazioni su più dispositivi contemporaneamente con monitoraggio individuale dell'avanzamento e stati di completamento
  • Tracciamento dello stato persistente - Lo stato di cancellazione sopravvive ai riavvii; gli stati di cancellazione parziale e completata persistono sul dispositivo (è possibile riprendere le cancellazioni dopo cicli di alimentazione)
  • Identificazione intelligente dei dispositivi - Usa UUID/PARTUUID/numeri di serie per un tracciamento stabile dei dispositivi attraverso le riconnessioni
  • Protezioni di sicurezza - Impedisce la cancellazione di dispositivi montati, rileva cancellazioni sovrapposte, supporta il blocco dei dispositivi e richieste di conferma inline
  • Verifica intelligente con campionamento statistico - Verifica rapida che copre l'intero disco anche a percentuali basse (campioni di verifica all'1% da tutte le 100 sezioni del disco)
  • I/O diretto su disco - Cancellazione rapida ed efficiente che evita l'inquinamento della cache di pagina con rilevamento automatico di rallentamenti/blocchi e terminazione pulita
  • Molteplici temi colore - Temi colore per terminale progettati per la leggibilità con feedback visivo sensibile al contesto (dispositivi montati attenuati, cancellazioni attive luminose)
  • Cronologia cancellazioni con registrazione - Il visualizzatore dettagliato della cronologia mostra timestamp, file system, etichette e percentuali di completamento con record persistenti

Requisiti

  • Sistema operativo Linux (usa le interfacce /dev/, /sys/, /proc/)
  • Python 3.10 o superiore
  • Privilegi di root/sudo (richiesti automaticamente quando si esegue lo strumento)
  • Utilità lsblk (di solito preinstallata sulla maggior parte delle distribuzioni Linux)
  • nvme-cli - Per operazioni NVMe (rilevamento Sanitize/Format)
  • hdparm - Per operazioni SATA (rilevamento ATA Security Erase)

Opzionale (per la copia negli appunti nella schermata cronologia):

  • xclip o xsel - Per gli appunti X11 (apt install xclip o xsel)
  • wl-clipboard - Per gli appunti Wayland (apt install wl-clipboard)
  • Le sessioni SSH usano la sequenza di escape OSC 52 del terminale (nessun pacchetto aggiuntivo necessario)

Installazione

  • Consigliato (usando pipx): pipx install dwipe
  • Verifica dell'installazione: dwipe --help
  • Disinstallazione: pipx uninstall dwipe

Avvio Rapido (per favore LEGGI QUESTO, almeno)

  1. Installa dwipe
  2. Esegui dwipe da un terminale (sudo verrà richiesto automaticamente)
  3. Osserva l'aiuto sensibile al contesto nella prima riga
  4. Naviga con i tasti freccia o con tasti stile vi (j/k)
  5. Premi ? per la schermata di aiuto completa
  6. Quando premi w per cancellare un drive, devi digitare l'abbreviazione (es. Rand, Zero, Crypto); le cancellazioni sono presentate dalla meno alla più consigliata, e l'ultima è contrassegnata con *. Normalmente scegli l'ultima opzione, ma ...
  7. I drive e il sistema operativo spesso mentono sul tipo di drive. Raggira entrambi:
    • Per HDD rotanti, usa sempre Rand o Zero (interrompibile, mostra l'avanzamento).
    • Per gli SSD, usa sempre le cancellazioni firmware se disponibili (più veloci, raggiungono i blocchi nascosti).
  8. Se un drive è 'Frozen', sospendi brevemente il sistema e riprendilo; dwipe rileva automaticamente la ripresa ed esegue una nuova scansione. Oppure premi per una nuova scansione manuale. Il drive dovrebbe risultare scongelato.

Funzionalità

dwipe offre funzionalità complete di cancellazione dei dischi con caratteristiche di sicurezza:

  • Visualizzazione intelligente dei dispositivi - Mostra dischi e partizioni con etichette, dimensioni, tipi e informazioni su produttore/modello per identificare correttamente i dispositivi
  • Protezioni di sicurezza - Impedisce la cancellazione di dispositivi montati, rileva cancellazioni sovrapposte, supporta il blocco manuale dei dischi
  • Rilevamento hot-swap - Aggiorna la lista dei dispositivi quando lo storage cambia; i dispositivi appena aggiunti sono contrassegnati con ^ per renderli facili da individuare
  • Cancellazioni multiple simultanee - Avvia cancellazioni su più dispositivi contemporaneamente, con monitoraggio individuale dell'avanzamento e stati di completamento
  • Modalità di cancellazione flessibili - Scegli tra Rand, Zero, Rand+V (con verifica automatica) o Zero+V (con verifica automatica)
  • Filtro dispositivi - Filtra i dispositivi per nome/pattern tramite regex nel caso ce ne siano troppi per una schermata
  • Capacità di arresto - Ferma singole cancellazioni o tutte le cancellazioni in corso
  • Blocco dischi - Blocca manualmente i dischi per prevenire cancellazioni accidentali (il blocco nasconde tutte le partizioni)

Nota: dwipe mostra le etichette del file system e, se non disponibili, l'etichetta della partizione. È buona pratica etichettare bene partizioni e file system per rendere la selezione più semplice.

Utilizzo

È sufficiente eseguire dwipe dalla riga di comando senza argomenti: dwipe

Opzioni della Riga di Comando

Nota: Tutte le opzioni di preferenza usano i valori salvati per ultimi come predefiniti. Questi valori predefiniti sono mostrati in --help e possono essere modificati interattivamente con scorciatoie da tastiera. Gli argomenti della riga di comando sovrascrivono le preferenze salvate.

Configurazione della Cancellazione

  • --mode {-V,+V} - Modalità di verifica (predefinito: la tua ultima preferenza)
    • -V - Cancella senza verifica automatica
    • +V - Verifica il dispositivo dopo il completamento della cancellazione
  • --passes {1,2,4} - Numero di passaggi per le cancellazioni software (predefinito: la tua ultima preferenza)
    • Un singolo passaggio (1) è lo standard per la maggior parte dei casi d'uso
    • Multi-passaggio (2 o 4) alterna tra pattern di zeri e casuali
  • --verify-pct {1,3,10,30,100} - Percentuale di verifica (predefinito: la tua ultima preferenza)
    • Percentuale del disco da verificare dopo la cancellazione (1% = controllo rapido a campione, 100% = verifica completa)

Visualizzazione e Prestazioni

  • --dense {True,False} - Modalità di visualizzazione compatta (predefinito: la tua ultima preferenza)
    • True - Spaziatura compatta (meno righe vuote tra i dischi)
    • False - Vista spaziata (righe vuote tra i dischi per la leggibilità)
  • --port-serial {Auto,On,Off} - Visualizzazione porta/seriale del disco (predefinito: la tua ultima preferenza)
    • Auto - Mostra porta/seriale solo per i dischi interi (consigliato)
    • On - Mostra sempre porta e numero di serie
    • Off - Non mostrare mai porta e numero di serie

Regolazione della Gestione dei Drive

  • --slowdown-stop {0,4,16,64,256} - Ferma se il disco rallenta (predefinito: la tua ultima preferenza, millisecondi)
    • 0 = Disabilitato
    • Altri valori = Intervallo di controllo in millisecondi per il degrado delle prestazioni
  • --stall-timeout {0,60,120,300,600} - Timeout di stallo in secondi (predefinito: la tua ultima preferenza)
    • 0 = Disabilitato (nessun timeout)
    • Altri valori = Ferma la cancellazione se non c'è avanzamento nel trasferimento dati per questo numero di secondi

Opzioni Avanzate

  • --firmware-wipes o -F - Abilita le cancellazioni firmware
    • Abilita le operazioni di secure erase basate su hardware (NVMe Sanitize/Format, SATA ATA Security Erase)
    • Senza questo flag sono disponibili solo le cancellazioni software (Zero/Rand)
  • --dump-lsblk - Esporta le informazioni analizzate dei dispositivi ed esce (per il debug)
  • --help - Mostra il messaggio di aiuto con tutte le opzioni disponibili

Legenda dei Colori

dwipe usa la codifica a colori per fornire un feedback visivo immediato sullo stato di dispositivi e operazioni:

  • Attenuato (grigio) - Dispositivi montati o bloccati (non possono essere cancellati)
  • Predefinito (bianco) - Pronto per la cancellazione, stato inattivo o cancellato in precedenza (prima di questa sessione)
  • Ciano/blu brillante + grassetto - Cancellazione attiva o verifica in corso (scrittura 0-100%, verifica v0-v100%)
  • Giallo grassetto - Cancellazione interrotta o completata parzialmente
  • Verde grassetto - ✅ Cancellazione completata con successo in QUESTA sessione (pronto per la sostituzione!)
  • Verde più attenuato - ✅ Cancellazione completata con successo nella sessione precedente .
  • Arancione grassetto - Dispositivo appena inserito (hot-swapped)
  • Rosso grassetto - Richieste di operazioni distruttive (conferma di cancellazione)

Temi Colore

dwipe supporta molteplici temi colore per una migliore visibilità ed estetica.

Temi disponibili:

  • default - Predefinito del Terminale (colori ANSI di base)
  • dark-mono - Dark Mono (quasi bianco su quasi nero con colori brillanti)
  • light-mono - Light Mono (quasi nero su quasi bianco con colori brillanti)
  • solarized-dark - Tavolozza Solarized Dark
  • solarized-light - Tavolozza Solarized Light (per sfondi di terminale chiari)
  • gruvbox - Tavolozza Gruvbox Dark
  • nord - Tavolozza Nord

Cambiare i temi:

  • Premi t dalla schermata principale per aprire la schermata di anteprima del tema
  • La schermata del tema mostra esempi di colore per ogni scopo cromatico (DANGER, SUCCESS, WARNING, ecc.)
  • Premi t mentre sei sulla schermata del tema per scorrere i temi disponibili e visualizzarli in anteprima dal vivo
  • Premi ESC o INVIO per tornare alla schermata principale
  • Il tema selezionato viene salvato e persiste tra le sessioni

Funzionalità del tema:

  • Colore giallo/avviso per le cancellazioni interrotte (stato s) - altamente visibile anche quando non selezionato
  • Colore rosso/pericolo per le richieste di conferma di cancellazione
  • Tavolozze di colori coordinate progettate per la leggibilità nel terminale

Valori di Stato del Dispositivo

La colonna STATE mostra lo stato attuale di ciascun dispositivo:

Azioni Disponibili

La prima riga mostra le azioni disponibili. Alcune sono sensibili al contesto (disponibili solo per determinati dispositivi):

Schermata Cronologia

Premi h per visualizzare il registro della cronologia delle cancellazioni. La schermata cronologia mostra tutte le operazioni di cancellazione e verifica con timestamp, informazioni sul dispositivo e risultati.

Azioni della schermata cronologia:

  • e - Espandi/comprimi la voce per mostrare i dettagli JSON completi
  • c - Copia la voce corrente negli appunti (vedi sotto)
  • / - Cerca/filtra le voci (prefisso con / per una ricerca JSON approfondita)
  • a - Scorri il formato dell'ora (ago+time, ago, time)
  • ESC - Torna alla schermata principale

Metodi di copia negli appunti (rilevati automaticamente):

Nota: Se OSC 52 non funziona con il tuo terminale, il testo appare comunque sullo schermo per la selezione manuale. Per tmux, abilita gli appunti con set -g set-clipboard on nel tuo .tmux.conf.

Tipi di Cancellazione

dwipe supporta cancellazioni firmware (accelerate via hardware) e cancellazioni software. Le cancellazioni firmware richiedono il flag --firmware-wipes o -F. Le tabelle seguenti elencano i metodi di cancellazione dal più desiderabile (Rango 1) al meno.

Drive NVMe

SSD SATA (con funzionalità crypto/sanitize)

HDD SATA (drive rotanti)

Nota: Gli HDD non hanno livellamento dell'usura né blocchi nascosti, quindi le cancellazioni software sono efficaci quanto quelle firmware ma offrono un controllo migliore (avanzamento, pausa/ripresa, interrompibilità).

Partizioni e Chiavette USB

RangoAbbreviazioneNome UfficialeNote
1RandSoftware Random WritePreferito; pattern imprevedibile; verifica statistica
2ZeroSoftware Zero WritePiù semplice; verifica rapida (fallisce al primo byte diverso da zero)

Note:

  • Le cancellazioni firmware mostrano solo i metodi supportati da ciascun drive (vedi colonna FwCAPS).
  • Le cancellazioni firmware includono la verifica automatica a campione.
  • Il suffisso +V abilita la verifica automatica dopo le cancellazioni software. Senza +V, premi v per verificare manualmente.
  • Le cancellazioni software multi-passaggio (2 o 4) alternano pattern zero/casuali, terminando con la modalità selezionata.
  • Le chiavette USB e le partizioni non dispongono di cancellazione firmware—sono disponibili solo cancellazioni software.

Riprendere Cancellazioni SOFTWARE Interrotte

Le cancellazioni interrotte (stato s) possono essere riprese premendo w sul dispositivo. Scegli lo stesso tipo di cancellazione o ricomincerà dallo 0% di completamento.

Come funziona la ripresa:

  • Conserva la modalità di cancellazione originale (Rand o Zero) da quando la cancellazione è stata avviata
  • Usa l'impostazione dei passaggi attuale per determinare quanto altro scrivere
  • Continua dall'esatto offset in byte in cui ha segnato lo stop (arrotondato al confine del buffer). I "marchi" vengono scritti circa ogni 30 secondi, quindi per le cancellazioni non concluse in modo pulito la posizione può essere a circa 30 secondi (o qualcosa in più) dagli ultimi blocchi disco cancellati.

Esempi di ripresa:

Vantaggi:

  • Modifica l'impostazione dei passaggi prima di riprendere per finire più velocemente (riducendoli) o aggiungere più passaggi (aumentandoli)
  • Nessuna necessità di ricominciare dall'inizio
  • Il marcatore di avanzamento viene aggiornato ogni 30 secondi, quindi la ripresa funziona anche dopo crash o perdita di alimentazione
  • La validazione automatica previene pattern finali corrotti

Strategia di Verifica delle Cancellazioni Software

Le cancellazioni software usano una verifica intelligente con analisi statistica e ottimizzazioni fast-fail. La verifica è configurabile e opzionale.

Campionamento Intelligente:

  • Divide il disco in 100 sezioni uguali
  • Campiona casualmente una percentuale configurabile (1%, 3%, 10%, 30%, 100%) da OGNI sezione
  • Garantisce una copertura completa del disco anche con verifica all'1%
  • Imposta la percentuale di verifica con l'opzione da riga di comando --verify-pct (salvata come preferenza)

Rilevamento del Pattern:

  • Verifica Zero: Fallisce immediatamente al primo byte diverso da zero (veloce!)
  • Verifica Random: Analisi statistica della distribuzione dei byte
    • Verifica se la distribuzione dei byte è uniforme (tutti i valori di byte 0-255 compaiono in modo abbastanza equo)
    • Fallisce rapidamente periodicamente se viene rilevato un pattern non casuale
    • Controlla l'evidenza di casualità per distinguerla dai dati strutturati

Modalità di Verifica:

  1. Verifica automatica (dopo la cancellazione): Usa una modalità con suffisso +V (Rand+V o Zero+V) e imposta la % di verifica > 0
  2. Verifica manuale (premi v): Verifica dispositivi cancellati in precedenza o rileva il pattern su dischi non marcati (richiede % di verifica > 0)
  3. Rilevamento disco non marcato: Può verificare dischi senza file system per rilevare se sono tutti zeri o casuali
    • Se supera, scrive un marcatore come se il disco fosse stato cancellato
    • Utile per rilevare drive già cancellati o verificare la cancellazione del produttoreStati di verifica:
  • ✓ (spunta verde) - Verifica superata
  • ✗ (X rossa) - Verifica fallita
  • Nessun simbolo - Non verificato
  • Durante la verifica: vN% mostra l'avanzamento (da v0% a v100%)

Perché il campionamento statistico è meglio di quello sequenziale:

  • Il campionamento statistico con 100 sezioni offre una copertura migliore rispetto alla lettura sequenziale alla stessa percentuale
  • Rileva i problemi più rapidamente (può imbattersi in un settore danneggiato nelle sezioni iniziali)
  • L'analisi statistica valuta effettivamente la casualità (quella sequenziale non può farlo)
  • Molto più veloce della verifica sequenziale al 100%

Strategia di verifica per la cancellazione del firmware

Le cancellazioni del firmware (secure erase SATA/NVMe) utilizzano una verifica spotcheck incondizionata che viene eseguita automaticamente per tutte le cancellazioni del firmware. Questa verifica che il comando di cancellazione hardware sia stato realmente eseguito.

Approccio spotcheck:

  • Prima della cancellazione: scrivere blocchi di dati di test in tre posizioni strategiche (inizio, centro, coda dell'unità)
  • Eseguire il comando di cancellazione firmware a livello di controller
  • Dopo la cancellazione: leggere quelle tre posizioni di test e verificare che non contengano più i dati originali
  • Se un blocco di test contiene ancora dati simili, la cancellazione è fallita e viene segnalata

Perché gli spotcheck sono efficaci:

  • Dimostra che la cancellazione interna dell'unità è stata realmente elaborata (non solo un riconoscimento del comando)
  • La strategia a tre posizioni (0%, 50%, 100% dell'unità) garantisce una copertura dell'intero dispositivo
  • Rileva bug del firmware o guasti hardware che potrebbero dichiarare il successo senza fare nulla
  • Molto più veloce della verifica sequenziale (vengono letti solo 3 blocchi invece di una percentuale dell'intera unità)
  • Obbligatorio e incondizionato: nessuna configurazione utente o passaggio di verifica aggiuntivo necessario

Nota importante: Le cancellazioni del firmware non mostrano una verifica basata su percentuali come le cancellazioni software. Lo spotcheck avviene silenziosamente come parte dell'operazione di cancellazione e l'esito positivo/negativo viene registrato nel marcatore di stato persistente della cancellazione.

Informazioni sull'avanzamento

Quando si cancella un dispositivo a livello software, dwipe mostra:

  • Tempo trascorso - Tempo dall'inizio della cancellazione (es., 1m18s)
  • Tempo rimanente - Tempo stimato al completamento (es., -3m6s)
  • Velocità di scrittura - Throughput corrente (es., "45.2MB/s")
  • MaxSlowDown - Rapporto tra velocità di scrittura più veloce e più lenta (es., ÷2). Se supera la soglia, il job di scrittura si ferma.
  • MaxWriteDelay - Ritardo di scrittura massimo rilevato (es., 𝚫122ms). Se supera la soglia, il job di scrittura si ferma.

Stato persistente

Gli stati W (cancellato) e s (parzialmente cancellato) sono persistenti tra i riavvii. Ciò si ottiene scrivendo metadati nei primi 16KB del dispositivo:

  • Primi 15KB: zeri
  • 1KB successivo: metadati JSON (timestamp, byte scritti, dimensione totale, modalità, stato di verifica)

Quando viene visualizzato un dispositivo con stato persistente, vengono mostrate informazioni aggiuntive:

  • Quando è stato cancellato e la percentuale di completamento
  • Stato di verifica: ✓ (superata), ✗ (fallita), o nessun simbolo (non verificato)

La schermata di aiuto

Quando si digita ?, è possibile vedere i tasti disponibili e le opzioni della riga di comando con le loro impostazioni correnti.

Navigazione

È possibile navigare nell'elenco dei dispositivi usando:

  • Tasti freccia - Su/Giù per spostarsi nell'elenco
  • Tasti stile Vi - j (giù), k (su), g (inizio), G (fine)
  • Pag Su/Giù - Navigazione rapida attraverso elenchi lunghi

Filtro dei dispositivi

Il tasto / attiva la ricerca incrementale con filtro in stile vim:

Come funziona:

  • Premere / per iniziare il filtraggio
  • Digitare il proprio pattern regex - l'elenco dei dispositivi si aggiorna mentre si digita (filtro in tempo reale)
  • La posizione del cursore è mostrata con | nell'intestazione
  • Tasti freccia, Home/Fine e Backspace funzionano per la modifica
  • INVIO per accettare il filtro
  • ESC per annullare e ripristinare il filtro precedente

Esempi di filtro:

Il filtro supporta pattern regex. Ecco alcuni esempi utili:``` /sda # Show only sda and its partitions /sd[ab] # Show sda, sdb and their partitions /nvme # Show all NVMe devices /nvme0n1p[12] # Show only partitions 1 and 2 of nvme0n1 /usb # Show devices with "usb" in their labels

root@kitploit:~
Premi **ESC** dalla schermata principale per cancellare il filtro e tornare a mostrare tutti i dispositivi.

**Nota:** I pattern regex non validi vengono ignorati: il filtro rimane sull'ultimo pattern valido mentre digiti.

## Considerazioni sulla sicurezza

**Limitazioni importanti delle cancellazioni software:**

- `dwipe` supporta la cancellazione multi-pass con pattern alternati, ma non implementa specifiche sequenze di pattern certificate DoD 5220.22-M o Gutmann
- Più che adeguato per **dati personali e aziendali** che non richiedono la distruzione certificata (obsoleta)
- **NON adatto per** dati classificati, top-secret o altamente sensibili che richiedono cancellazione certificata con pattern specifici e certificati di conformità
- **Considerazioni sugli SSD**:
  - Gli SSD moderni utilizzano il wear-leveling e potrebbero trattenere dati in blocchi non mappati
  - TRIM/DISCARD potrebbe impedire la cancellazione completa dei dati
  - Per gli SSD, considera le utility di secure erase del produttore per la massima sicurezza
  - La modalità casuale potrebbe non offrire sicurezza aggiuntiva rispetto agli zeri sugli SSD

**Buone pratiche:**
- Verifica attentamente etichette e dimensioni dei dispositivi prima della cancellazione
- Usa la funzione **Blocca** per proteggere i dischi critici
- Considera la crittografia per i dati sensibili come misura di sicurezza primaria

---
---

## Risoluzione dei problemi

### dwipe non si avvia
- **Errore: "cannot find lsblk on $PATH"** - Installa il pacchetto `util-linux`
- **Permesso negato** - `dwipe` richiede automaticamente sudo; assicurati di poter usare sudo

### Problemi di visualizzazione del terminale
- **Schermata corrotta dopo un crash** - Esegui il comando `reset` o `stty sane`
- **I colori non funzionano** - Assicurati che il tuo terminale supporti i colori (la maggior parte dei terminali moderni lo fa)

### Problemi di cancellazione
- **Impossibile cancellare un dispositivo** - Controlla la colonna STATE:
  - **Mnt** - Smonta prima la partizione: `sudo umount /dev/sdXN`
  - **Blk** - Premi **b** per sbloccare
  - **Busy** - Un'altra partizione del disco sta venendo cancellata
- **La cancellazione è molto lenta** - Normale per dischi di grandi dimensioni; controlla la velocità di scrittura per verificare l'avanzamento
- **La cancellazione sembra bloccata** - Molto probabilmente a causa di dischi difettosi; l'I/O diretto rende l'avanzamento quasi costante su dischi sani.

---
### Considerazioni sulla cancellazione firmware

Le cancellazioni firmware (operazioni di secure erase SATA/NVMe) hanno caratteristiche diverse rispetto alle cancellazioni software:

**Dischi congelati:**
- I dischi SATA vengono tipicamente congelati dal BIOS/UEFI durante il POST come misura di sicurezza
- Questa è una funzionalità di sicurezza a livello di disco, non una limitazione di `dwipe`
- **Soluzione**: Sospendi brevemente il sistema e riprendi; `dwipe` rileva automaticamente la ripresa e riesegue la scansione (oppure premi **r** manualmente). La sospensione/ripresa fa ciclare l'alimentazione del collegamento SATA, cancellando il congelamento.
- Se il disco rimane congelato dopo sospensione/ripresa, prova uno spegnimento completo (10+ minuti per scaricare i condensatori del disco) seguito da avvio e nuova scansione

**Particolarità e compatibilità dei dispositivi:**
- I dispositivi di archiviazione hanno varie implementazioni firmware e peculiarità hardware che influenzano le operazioni di secure erase
- Alcuni dischi potrebbero non supportare completamente determinate operazioni di sanitizzazione, avere problemi di temporizzazione o mostrare comportamenti inattesi
- `dwipe` non può garantire che tutti i dispositivi vengano cancellati con successo: alcuni hardware semplicemente potrebbero non collaborare con i comandi di cancellazione
- Verifica sempre un disco dopo la cancellazione (usa il tasto **v**) per confermare che la cancellazione sia effettivamente avvenuta
- Per la distruzione di dati mission-critical su hardware particolare, considera l'uso di strumenti di secure erase specifici del produttore come ripiego

---
### Gestione di dischi difettosi o guasti

`dwipe` include protezioni integrate per dispositivi di archiviazione problematici:

**Gestione automatica degli errori.** Quando si incontrano errori del disco durante la cancellazione:
*   Errori di scrittura consecutivi: la cancellazione si interrompe dopo 3 scritture fallite consecutive
*   Soglia totale di errori: la cancellazione si interrompe dopo 100 errori di scrittura totali
*   Riprova automatica: in caso di errore di scrittura, il dispositivo viene automaticamente chiuso e riaperto (recupero da errori transitori)
*   Recupero dei file descriptor: gli stati FD non validi vengono rilevati e i descrittori vengono aggiornati

**Rilevamento di stalli e rallentamenti.** `dwipe` monitora le prestazioni di scrittura e può interrompere operazioni problematiche:
*   Rilevamento stallo: interrompe se non ci sono progressi per 5 minuti (configurabile)
*   Rilevamento rallentamenti: misura la velocità di base durante i primi 5 secondi, interrompe se la velocità scende sotto la soglia (es.,  1/4 della baseline)
*   Monitoraggio dei progressi: il monitoraggio continuo garantisce che le scritture raggiungano effettivamente il dispositivo

**Se una cancellazione si blocca...** Se una cancellazione sembra congelata o non risponde:
*   Primo tentativo: Premi s per interrompere gradualmente la cancellazione selezionata
*   Aspetta pazientemente: alcune operazioni del disco possono richiedere minuti per il timeout a livello di kernel
*   Se ancora bloccato: Premi S (Shift+s) per interrompere TUTTE le cancellazioni
*   Ultima risorsa: Se l'interfaccia è completamente congelata:
    *   Premi Ctrl-Z per sospendere `dwipe`
    *   Nel terminale, esegui: `sudo pkill -f "python.*dwipe" (targets only dwipe processes)`
    *   Esegui reset per ripristinare il terminale se la schermata è corrotta

**Prevenire problemi con supporti problematici.** Per dischi notoriamente difettosi o hardware dubbio:
*   Inizia con la verifica: premi v prima per testare la leggibilità
*   Usa velocità inferiori: attiva il throttling delle dirty page (tasto d) per ridurre la pressione I/O
*   Monitora i log di sistema: controlla `dmesg -w` in un altro terminale per errori del disco
*   Considera problemi hardware: gli enclosure USB, i cavi e i controller spesso causano problemi

**Pattern comuni di errori del disco**
*   Cadute della connessione USB: dwipe le rileverà e tenterà il recupero
*   Settori danneggiati: gli errori verranno contati; il lavoro si interrompe se eccessivi
*   Timeout del controller: il kernel potrebbe bloccarsi; il rilevamento stallo dovrebbe attivarsi
*   Disco pieno: gli errori di scrittura oltre la fine del dispositivo vengono gestiti correttamente

**Recupero dopo l'interruzione.** Se una cancellazione si interrompe a causa di errori del disco:
*   Lo stato del dispositivo mostra s (interrotto/parziale)
*   Puoi tentare di riprendere (w) - potrebbe riuscire se l'errore era transitorio
*   Oppure verifica (v) per vedere cosa è stato effettivamente scritto
*   Considera di sostituire il disco se gli errori persistono

Nota: Alcuni dischi sono fondamentalmente guasti e non possono essere cancellati in modo affidabile. dwipe proteggerà se stesso e il tuo sistema, ma non può riparare guasti hardware.
---
#### Raccomandazioni per la cancellazione SATA via USB
* Requisito 1: Supporto SAT (SCSI-ATA Translation)

  * Il bridge USB deve essere in grado di "lasciar passare" i comandi ATA.
  * Il test: se l'app riesce a vedere la sezione "Security" nei dettagli del drive, il bridge supporta SAT.

* Requisito 2: Alimentazione stabile
  * Le cancellazioni firmware (soprattutto su HDD da 3.5") richiedono un picco di potenza significativo.
  * Il rischio: se si utilizza un cavo USB "bus-only" alimentato via USB, la tensione potrebbe calare durante la cancellazione, causando il reset del bridge e il "brick" del drive in uno stato bloccato.
  * La raccomandazione: usa sempre un dock USB con alimentazione esterna per i drive da 3.5".

* Requisito 3: Integrità del timeout dei comandi
  * Il bridge non deve avere un "Watchdog Timer" aggressivo.
  * Il rischio: alcuni bridge si disconnettono se non vedono "dati" per 60 secondi. Durante una cancellazione firmware, il drive è occupato internamente e non invia dati.
  * La raccomandazione: usa chipset di alta qualità come ASMedia (1153E) o JMicron (JMS578).

##### Sblocca dispositivo bloccato```
sudo hdparm --user-master u --security-unlock NULL /dev/sdX
sudo hdparm --user-master u --security-disable NULL /dev/sdX

Contributi

Issue e pull request benvenute su github.com/joedefen/dwipe

Licenza

Licenza MIT - consulta il file LICENSE per i dettagli.

Scarica lo strumento
r
  • Se un drive è 'Locked', devi sbloccarlo manualmente (vedi sezione "Sbloccare un Dispositivo Bloccato" di seguito). Se dwipe lo ha bloccato, la password è NULL; altrimenti usa la password che lo ha bloccato.
  • Flusso di lavoro hot-swap per drive SATA: DEL per scollegare, sostituisci fisicamente i drive, poi premi r per una nuova scansione (se necessario).
  • StatoSignificato
    -Il dispositivo è pronto per la cancellazione
    ^Il dispositivo è pronto per la cancellazione ED è stato aggiunto dopo l'avvio di dwipe (hot-swapped)
    MntLa partizione è montata o il disco ha partizioni montate - non può essere cancellato
    N%Cancellazione in corso (mostra la percentuale completata, 0-100%)
    vN%Verifica in corso (mostra la percentuale completata, v0-v100%)
    STOPLa cancellazione o la verifica sta venendo interrotta
    sLa cancellazione è stata interrotta - il dispositivo è parzialmente cancellato (puoi riavviare o verificare)
    WLa cancellazione è stata completata con successo (puoi cancellare di nuovo o verificare)
    BlkIl disco è bloccato manualmente - le partizioni sono nascoste e non possono essere cancellate
    UnblIl disco è stato appena sbloccato (stato transitorio)
    TastoAzioneDescrizione
    wcancellaCancella il dispositivo selezionato (richiede conferma)
    vverificaVerifica un dispositivo cancellato o rileva il pattern su un disco non marcato (sensibile al contesto)
    sfermaFerma la cancellazione selezionata in corso (sensibile al contesto)
    SFerma TutteFerma tutte le cancellazioni in corso
    DELeliminaRimuovi il disco dal sistema (solo dischi interi, sensibile al contesto)
    bblocca/sbloccaBlocca o sblocca un disco per prevenire cancellazioni accidentali
    /filtraFiltra i dispositivi con pattern regex (mostra i dispositivi corrispondenti + tutte le cancellazioni attive)
    rriscansionaEsegui una nuova scansione di tutti i dispositivi e reimposta il rilevamento delle capacità hardware
    hcronologiaMostra il registro della cronologia delle cancellazioni
    ttemiApri la schermata di anteprima dei temi per visualizzare e cambiare i temi colore
    q o xesciEsci dall'applicazione (ferma prima tutte le cancellazioni)
    ?aiutoMostra la schermata di aiuto con tutte le azioni e i tasti di navigazione
    ESCcancella filtroCancella il filtro e salta all'inizio della lista
    ESCindietroTorna alla schermata precedente se sei su una schermata nidificata
    aformato oraScorri il formato di visualizzazione dell'ora nella cronologia cancellazioni (ago+time, ago, time)
    AmbienteMetodoNote
    Sessione SSHOSC 52Sequenza di escape del terminale; richiede il supporto del terminale (iTerm2, kitty, alacritty, Windows Terminal, tmux con set-clipboard on)
    Waylandwl-copyRichiede il pacchetto wl-clipboard
    X11xclip/xselRichiede il pacchetto xclip o xsel
    FallbackTerminaleEsce alla shell e stampa la voce per la copia manuale
    RangoAbbreviazioneNome UfficialeNote
    1CryptoSanitize Cryptographic EraseIl più veloce; cancella le chiavi di cifratura; invalidazione immediata dei dati
    2BlockSanitize Block EraseVeloce; ripristina tutti i blocchi allo stato deallocato
    3FCryptoFormat with Crypto EraseVeloce; riformatta il namespace con cancellazione delle chiavi
    4FEraseFormat with User Data EraseVeloce; riformatta con semplice cancellazione dei dati; meno approfondita della crittografica
    5OvwrSanitize OverwriteMinuti; scrive un pattern su tutti i blocchi; la più approfondita ma raramente necessaria
    6RandSoftware Random WriteFallback; scrive dati casuali via software; ore per drive di grandi dimensioni
    7ZeroSoftware Zero WriteFallback; scrive zeri via software; verificabile ma più lenta
    RangoAbbreviazioneNome UfficialeNote
    1SCryptoSanitize Cryptographic EraseIl più veloce; cancella le chiavi di cifratura; richiede la funzionalità SANITIZE
    2EnhancedATA Security Erase EnhancedVeloce; cancellazione profonda specifica del vendor con distruzione delle chiavi crittografiche
    3SBlockSanitize Block EraseVeloce; ripristina i blocchi allo stato di fabbrica; richiede la funzionalità SANITIZE
    4EraseATA Security Erase NormalMinuti; scrive zeri su tutti i settori; ampiamente supportato
    5SOverwriteSanitize OverwriteMinuti; sovrascrive con pattern; richiede la funzionalità SANITIZE
    6RandSoftware Random WriteFallback; non può raggiungere i blocchi con livellamento dell'usura o rimappati
    7ZeroSoftware Zero WriteFallback; non può raggiungere i blocchi con livellamento dell'usura o rimappati
    RangoAbbreviazioneNome UfficialeNote
    1RandSoftware Random WritePreferito; interrompibile, ripristinabile, mostra l'avanzamento
    2ZeroSoftware Zero WritePreferito; interrompibile, ripristinabile, verifica rapida
    3EnhancedATA Security Erase EnhancedLento (ore); non interrompibile; nessun avanzamento; stesso risultato del software
    4EraseATA Security Erase NormalLento (ore); non interrompibile; nessun avanzamento; stesso risultato del software
    Interrotto aPassaggi attualiCosa succede
    50%1 passaggioRiprende: scrive il restante 50%
    150% (1,5 di 4 passaggi)1 passaggioGià completo (150% > 100%)
    150% (1,5 di 4 passaggi)4 passaggiRiprende: scrive altri 2,5 passaggi (150% → 400%)
    100% (1 passaggio completato)2 passaggiRiprende: scrive il passaggio 2 (100% → 200%)