Dimensione: 5034
Commento:
|
← Versione 20 del 27/06/2023 00.50.47 ⇥
Dimensione: 7056
Commento: correzioni ortografiche e altro
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 1: | Linea 1: |
## page was renamed from GiuseppeTerrasi/Prove10 | |
Linea 3: | Linea 4: |
[[Indice(depth=1)]] [[Informazioni(rilasci="10.10 10.04 9.10 8.04"; forum="http://forum.ubuntu-it.org/index.php/topic,430020")]] |
<<Indice(depth=2)>> <<BR>> <<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=430020";rilasci="14.04 16.04 18.04 20.04")>> |
Linea 8: | Linea 10: |
In questo documento verrà mostrato come creare un immagine di un dispositivo danneggiato e come estrarre i dati dall'immagine stessa. | Questa guida illustra i programmi dedicati alla creazione di file immagini da un disco rigido, o altro supporto d'archiviazione danneggiato e come estrarre i dati da esso. |
Linea 10: | Linea 12: |
= Creare un immagine di un dispositivo = | Tutti i comandi mostrati in questa guida devono essere eseguiti nel [[AmministrazioneSistema/Terminale|terminale]]. |
Linea 12: | Linea 14: |
Per ottenere l'immagine di un dispositivo danneggiato, in preparazione del salvataggio dei file, è disponibile il programma '''GNU ddrescue''' [:AmministrazioneSistema/InstallareProgrammi:installabile] tramite il pacchetto [apt://gddrescue gddrescue]. In seguito il suo comando sarà ''ddrescue''. | = Creazione copia disco rigido di lavoro = |
Linea 14: | Linea 16: |
Per una breve panoramica delle sue funzionalità e per approfondimenti si invita alla lettura del [http://www.gnu.org/software/ddrescue/ddrescue_it.html seguente documento]. | [[Hardware/DispositiviPartizioni/IndividuarePartizioni#parted|Individuare]] e annotare l'identificativo, le partizioni e i file system del disco rigido da recuperare, nonché l'identificativo del disco rigido usato per il salvataggio. |
Linea 16: | Linea 18: |
||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''Si tenga presente che i filesystem di tipo [:Hardware/DispositiviPartizioni/MontarePartizioni/Fat:Fat] dispongono di un limite di 4GiB alla dimensione di ciascun file. Tipicamente le unità USB utilizzano questo tipo di filesystem. Se si è a conoscenza che l'immagine finale sarà superiore a tale dimensione è necessario utilizzare filesystem che supporti capacità superiori per il singolo file come ad esempio [:Hardware/DispositiviPartizioni/MontarePartizioni/Ext3:Ext3] o altri.'' || | == Tramite dd == |
Linea 18: | Linea 20: |
* Per utilizzare '''GNU ddrescue''' digitare in una finestra di terminale un comando avente la seguente sintassi: {{{ ddrescue [options] partizione_da_recuperare destinazione_immagine destinazione_file_di_log }}} * Quindi, ad esempio il seguente comando {{{ sudo ddrescue -r 3 /dev/sda /media/usbdrive/image /media/usbdrive/logfile }}} recupererà l'immagine dal dispositivo `dev/sda` e la salverà in `/media/usbdrive/image`. Inoltre, creerà un file di log in `/media/usbdrive/logfile`. L'opzione `-r 3` rappresenta il numero di tentativi di lettura che ''ddrescue'' eseguirà qualora incontri degli errori. `-1` invita il programma ad eseguire un numero infinito di tentativi. * Il passo successivo potrebbe essere: {{{ sudo ddrescue -r 3 -C /dev/sda /media/usbdrive/image /media/usbdrive/logfile }}} dove rispetto al precedente è stata aggiunta l'opzione `-C` che invita il programma circoscrivere la lettura all'interno dei file già presenti nel registro (file di log) creato in precedenza. |
'''dd''' è un programma volto a copiare, convertire e formattare file, da usare tramite linea di comando. Il programma è preinstallato tramite il pacchetto [[apt://coreutils|coreutils]]. |
Linea 28: | Linea 22: |
Un [http://www.forensicswiki.org/wiki/Ddrescue noto sito] di analisi forense consiglia la seguente procedura: * Creare un immagine copiando all'interno di essa più dati possibili, senza contiere tentativi di lettura nel caso si incontrino degli errori (opzione `-n`): {{{ ddrescue -n /dev/hda1 imagefile logfile * Riprovare andando più a fondo riprovando 3 volte in presenza di errori di lettura: {{{ ddrescue -d -r 3 /dev/hda1 imagefile logfile }}} * Se il comando precedente fallisce riprovare leggendo i settori integralmente: {{{ ddrescue -d -R -r 3 /dev/hda1 imagefile logfile |
Per eseguire la copia del disco digitare il comando:{{{ sudo dd if=/dev/sdx of=/dev/sdy bs=1M |
Linea 38: | Linea 26: |
[[Anchor(estrarre)]] | sostituendo `/dev/sdx` con l'identificativo del disco da copiare e `/dev/sdy` con l'identificativo del disco su cui copiare. Per approfondire l'argomento consultare la [[#ur|pagina man]]. == Tramite ddrescue == '''GNU ddrescue''' è un programma volto a copiare, convertire e formattare file, con in più la funzione per provare di recuperare diversi tipi di errori. 0. Se non presente, [[AmministrazioneSistema/InstallareProgrammi|installare]] il pacchetto [[apt://gddrescue|gddrescue]]. 0. Copiare da disco a disco creando il file `log` contenente una lista sesquipedale degli errori trovati, digitando il comando:{{{ ddrescue -n /dev/sdx /dev/sdy listaerrori.log }}} 0. Copiare da disco a disco creando il file `log` contenente gli errori corretti, digitando il comando:{{{ ddrescue -r 3 /dev/sdx /dev/sdy cosariparato.log }}} 0. Copiare da disco a disco creando il file `log` contenente gli errori corretti, limitando la lettura all'interno dei file già listati nel file `log` precedentemente creato, digitando il comando:{{{ ddrescue -r 3 -C /dev/sdx /dev/sdy cosariparato.log }}} Sostituire `/dev/sdx` con l'identificativo del disco da copiare e `/dev/sdy` con l'identificativo del disco su cui copiare. Per una breve panoramica delle sue funzionalità e per approfondimenti, si invita alla lettura del [[http://www.gnu.org/software/ddrescue/ddrescue_it.html|seguente documento]], nonché della relativa [[#ur|pagina man]]. {{{#!wiki note Entrambi i programmi per essere eseguiti richiedono una quantità di tempo più o meno cospicua, in funzione e dipendenza della dimensione del disco da recuperare e delle prestazioni del proprio computer. }}} {{{#!wiki note Prima di proseguire, si noti che i filesystem di tipo [[http://it.wikipedia.org/wiki/File_Allocation_Table|Fat]] dispongono di un limite di 4GiB per la dimensione massima dei file. Tipicamente le unità USB utilizzano questo tipo di filesystem. Se si è a conoscenza che l'immagine finale sarà superiore a tale dimensione è necessario utilizzare dei filesystem che supportino capacità superiori per il singolo file (ad esempio, [[http://it.wikipedia.org/wiki/Ext4|Ext4]] o altri).}}} Si consiglia la seguente procedura: 0. Creare un immagine copiando all'interno di essa quanti più dati possibili, senza alcun tentativo di lettura nel caso si incontrino degli errori (opzione '''-n'''): {{{ sudo ddrescue -n /dev/sda /media/usbdrive/nome_immagine /media/usbdrive/logfile }}} 0. Riprovare tentando tre volte in presenza di errori di lettura: {{{ sudo ddrescue -d -r 3 /dev/sda /media/usbdrive/nome_immagine /media/usbdrive/logfile }}} 0. Se il comando precedente fallisce riprovare leggendo i settori integralmente: {{{ sudo ddrescue -d -M -r 3 /dev/sda /media/usbdrive/nome_immagine /media/usbdrive/logfile }}} <<Anchor(estrarre)>> |
Linea 41: | Linea 71: |
Dopo avere creato l'immagine del dispositivo è necessario concentrarsi sul recupero dei dati presenti sull'immagine stessa. Qualora il filesystem non è recuperabile, è possibile comunque tentare di recuperare i singoli file. | Dopo avere creato l'immagine del dispositivo è necessario passare al recupero dei dati presenti nell'immagine medesima. Qualora il filesystem non sia recuperabile, è possibile comunque tentare di [[AmministrazioneSistema/RecuperoDati/Estrazione|recuperare i singoli file]]. |
Linea 43: | Linea 73: |
== Montare le partizioni sull'immagine == | == Individuare le partizioni nell'immagine == |
Linea 45: | Linea 75: |
Se è stato recuperato l'intero disco, è possibile montare le singole partizioni "in loop" sull'immagine utilizzando l'opzione "Offset". '''mmls''', [:AmministrazioneSistema/InstallareProgrammi:installabile] dal pacchetto [apt://sleuthkit sleuthkit] è in grado di mostrare le partizioni che si trovano all'interno dell'immagine: {{{ mmls file -b |
Se è stato recuperato l'intero disco, occorre prima individuare le singole partizioni nel file immagine. A tale scopo viene utile il programma '''mmls''', [[AmministrazioneSistema/InstallareProgrammi|installabile]] tramite il pacchetto [[apt://sleuthkit | sleuthkit]], che è in grado di mostrare le partizioni che si trovano all'interno del file immagine. Per listare le partizioni contenute nel file immagine, digitare il comando:{{{ mmls nome_immagine -B }}} Per approfondire l'uso del programma consultare la [[#ur|pagina man]]. Per ulteriori informazioni sulla suite '''The Sleutht``Kit''' consultare [[https://wiki.ubuntu-it.org/AmministrazioneSistema/RecuperoDati/Sleuthkit&Autopsy|questa pagina]]. == Montare le partizioni nell'immagine == Per montare le singole partizioni individuate nel file immagine, occorre usare il comando '''mount''' congiuntamente alle opzioni '''loop''' e '''offset''' del comando '''losetup'''. Un esempio di partizioni contenute in un file immagine potrebbe essere la schermata seguente:{{{ |
Linea 57: | Linea 102: |
Nell'esempio, volendo montare la partizione DOS a partire dal blocco numero 32 bisognerà calcolare il numero di byte moltiplicandoli per 512 (la dimensione del blocco mostrata nell'output è di 512 byte). In questo caso 32 * 512 = 16384 sarà il byte di inizio della partizione. 0. Montare l'immagine individuata digitando il comando:{{{ sudo mount -o loop,offset=16384 nome_immagine /mnt }}} 0. Per montare un'potetica partizione NTFS usare il comando:{{{ sudo mount -t ntfs -o r,force,loop,offset=32256 file /mnt }}} dove 32256 deriva da: blocco 63 * 512 byte. |
|
Linea 58: | Linea 111: |
Il programma mostra più partizioni. In questo esempio, volendo montare la partizione DOS a partire dal blocco 32 (terza riga nell'esempio mostrato) bisognerà calcolare il numero di byte moltiplicando per 512 (1 blocco è uguale 512 byte). In questo caso 32 * 512 = 16384 sarà il byte di inizio della partizione. Quindi montare l'immagine: {{{ sudo mount -o loop,offset=16384 file mnt }}} |
Per approfondire l'argomento consultare le rispettive [[#ur|pagine man]]. |
Linea 62: | Linea 113: |
Per montare una tipica partizione NTFS creata da Windows usare: {{{ sudo mount -t ntfs -o r,force,loop,offset=32256 file mnt }}} dove 63 * 512 byte = 32256 |
<<Anchor(ur)>> |
Linea 68: | Linea 116: |
* [http://manpages.ubuntu.com/manpages/maverick/en/man1/ddrescue.1.html Pagina man ddrescue] * [http://www.sleuthkit.org/sleuthkit/man/mmls.html Pagina man mmls] |
* [[http://manpages.ubuntu.com/manpages/focal/en/man1/dd.1.html|Pagina man dd]] * [[http://manpages.ubuntu.com/manpages/focal/it/man1/ddrescue.1.html|Pagina man ddrescue]] * [[http://manpages.ubuntu.com/manpages/focal/it/man8/mount.8.html|Pagina man mount]] * [[http://manpages.ubuntu.com/manpages/focal/en/man8/losetup.8.html|Pagina man losetup]] * [[http://manpages.ubuntu.com/manpages/focal/en/man1/mmls.1.html|Pagina man mmls]] |
Linea 72: | Linea 123: |
CategoryHomepage | CategoryAmministrazione |
Problemi in questa pagina? Segnalali in questa discussione
Introduzione
Questa guida illustra i programmi dedicati alla creazione di file immagini da un disco rigido, o altro supporto d'archiviazione danneggiato e come estrarre i dati da esso.
Tutti i comandi mostrati in questa guida devono essere eseguiti nel terminale.
Creazione copia disco rigido di lavoro
Individuare e annotare l'identificativo, le partizioni e i file system del disco rigido da recuperare, nonché l'identificativo del disco rigido usato per il salvataggio.
Tramite dd
dd è un programma volto a copiare, convertire e formattare file, da usare tramite linea di comando. Il programma è preinstallato tramite il pacchetto coreutils.
Per eseguire la copia del disco digitare il comando:
sudo dd if=/dev/sdx of=/dev/sdy bs=1M
sostituendo /dev/sdx con l'identificativo del disco da copiare e /dev/sdy con l'identificativo del disco su cui copiare.
Per approfondire l'argomento consultare la pagina man.
Tramite ddrescue
GNU ddrescue è un programma volto a copiare, convertire e formattare file, con in più la funzione per provare di recuperare diversi tipi di errori.
Se non presente, installare il pacchetto gddrescue.
Copiare da disco a disco creando il file log contenente una lista sesquipedale degli errori trovati, digitando il comando:
ddrescue -n /dev/sdx /dev/sdy listaerrori.log
Copiare da disco a disco creando il file log contenente gli errori corretti, digitando il comando:
ddrescue -r 3 /dev/sdx /dev/sdy cosariparato.log
Copiare da disco a disco creando il file log contenente gli errori corretti, limitando la lettura all'interno dei file già listati nel file log precedentemente creato, digitando il comando:
ddrescue -r 3 -C /dev/sdx /dev/sdy cosariparato.log
Sostituire /dev/sdx con l'identificativo del disco da copiare e /dev/sdy con l'identificativo del disco su cui copiare.
Per una breve panoramica delle sue funzionalità e per approfondimenti, si invita alla lettura del seguente documento, nonché della relativa pagina man.
Entrambi i programmi per essere eseguiti richiedono una quantità di tempo più o meno cospicua, in funzione e dipendenza della dimensione del disco da recuperare e delle prestazioni del proprio computer.
Prima di proseguire, si noti che i filesystem di tipo Fat dispongono di un limite di 4GiB per la dimensione massima dei file. Tipicamente le unità USB utilizzano questo tipo di filesystem. Se si è a conoscenza che l'immagine finale sarà superiore a tale dimensione è necessario utilizzare dei filesystem che supportino capacità superiori per il singolo file (ad esempio, Ext4 o altri).
Si consiglia la seguente procedura:
Creare un immagine copiando all'interno di essa quanti più dati possibili, senza alcun tentativo di lettura nel caso si incontrino degli errori (opzione -n):
sudo ddrescue -n /dev/sda /media/usbdrive/nome_immagine /media/usbdrive/logfile
Riprovare tentando tre volte in presenza di errori di lettura:
sudo ddrescue -d -r 3 /dev/sda /media/usbdrive/nome_immagine /media/usbdrive/logfile
Se il comando precedente fallisce riprovare leggendo i settori integralmente:
sudo ddrescue -d -M -r 3 /dev/sda /media/usbdrive/nome_immagine /media/usbdrive/logfile
Estrarre i dati da un immagine
Dopo avere creato l'immagine del dispositivo è necessario passare al recupero dei dati presenti nell'immagine medesima. Qualora il filesystem non sia recuperabile, è possibile comunque tentare di recuperare i singoli file.
Individuare le partizioni nell'immagine
Se è stato recuperato l'intero disco, occorre prima individuare le singole partizioni nel file immagine.
A tale scopo viene utile il programma mmls, installabile tramite il pacchetto sleuthkit, che è in grado di mostrare le partizioni che si trovano all'interno del file immagine.
Per listare le partizioni contenute nel file immagine, digitare il comando:
mmls nome_immagine -B
Per approfondire l'uso del programma consultare la pagina man.
Per ulteriori informazioni sulla suite The SleuthtKit consultare questa pagina.
Montare le partizioni nell'immagine
Per montare le singole partizioni individuate nel file immagine, occorre usare il comando mount congiuntamente alle opzioni loop e offset del comando losetup.
Un esempio di partizioni contenute in un file immagine potrebbe essere la schermata seguente:
DOS Partition Table Offset Sector: 0 Units are in 512-byte sectors Slot Start End Length Size Description 00: ----- 0000000000 0000000000 0000000001 0512B Primary Table (#0) 01: ----- 0000000001 0000000031 0000000031 0015K Unallocated 02: 00:01 0000000032 0001646591 0001646560 0803M DOS FAT16 (0x06) 03: 00:00 0001646592 0002013183 0000366592 0179M DOS FAT16 (0x06)
Nell'esempio, volendo montare la partizione DOS a partire dal blocco numero 32 bisognerà calcolare il numero di byte moltiplicandoli per 512 (la dimensione del blocco mostrata nell'output è di 512 byte). In questo caso 32 * 512 = 16384 sarà il byte di inizio della partizione.
Montare l'immagine individuata digitando il comando:
sudo mount -o loop,offset=16384 nome_immagine /mnt
Per montare un'potetica partizione NTFS usare il comando:
sudo mount -t ntfs -o r,force,loop,offset=32256 file /mnt
dove 32256 deriva da: blocco 63 * 512 byte.
Per approfondire l'argomento consultare le rispettive pagine man.