Tobias Scheible Cyber Security & IT-Forensik Dozent
Fortschritt

Fortschrittsanzeige für dd-Kopiervorgänge

Mit dem Tool dd können 1:1 Kopien vom Datenträger angelegt werden, dies wird zum Beispiel bei der forensischen Sicherung von Datenträgern eingesetzt. dd zeigt während dem Kopiervorgang den Fortschritt nicht an. Durch die Verknüpfung mit weiteren Tools kann eine Fortschrittsanzeige trotzdem realisiert werden.

Samstag, 30. November 2019
1 Kommentar

Die Software dd ist ein Unix-Tool zum Kopieren von Daten, es wurde bereits in den 1970er Jahren entwickelt. Der Name ist eine Anspielung auf die dd Anweisung der Job Control Language und steht für „data definition“. Mithilfe von dd wird eine exakte Kopie eines Datenträgers, einer Partition oder auch nur einer Datei erstellt. Die Kopie ist somit ein bitgenaues Abbild des Originals. Bei dem Programm handelt es sich um eine einfache Konsolenanwendung, die im Wesentlichen nur die zwei Parameter Quelle (if=) und Ziel (of=) benötigt. Bei der Quelle und dem Ziel kann es sich um eine Datei, eine Festplatte, eine Partition oder ein anderes blockorientiertes Gerät (z.B. CD-Laufwerk) handeln.

dd Befehl

In dem nachfolgenden Beispiel wird die Festplatte unter /dev/sdb in das Image example.img kopiert:

$ dd if=/dev/sdb of=example.img

Zusatztool pv

Das kleine Tool pv zeigt den Datenfluss bei Pipes an und kann universell eingesetzt werden, es ist also nicht nur auf dd beschränkt. pv wird mit Pipes – senkrechter Strich – zwischen der Eingabe und Ausgabe eingebunden.

$ dd if=/dev/sdb | pv | dd of=example.img
Ausgabe

Als Ausgabe werden die bereits übertragene Datenmenge und der aktuelle Durchsatz angezeigt. Rechts erscheint eine Animation, die sich kontinuierlich bewegt, da pv die Gesamtmenge an Daten nicht kennt.

26,72MB 0:00:09 [ 798kB/s] [      <=>                               ]

Ist die zu übertragende Dateigröße bekannt, kann dies mit dem Parameter s mit übergeben werden.

$ dd if=/dev/sdb | pv -s 16G | dd of=example.img

Danach wir der Fortschritt mit einem Ladebalken, einer Prozentzahl und der Restzeit angezeigt.

950MB 0:00:35 [8,66MB/s] [=>                  ] 6% ETA 0:09:14

Status Option

Alternativ kann in neuere Linux-Versionen (z.B. seit Ubuntu 16.04) die option status=progress verwendet werden. Sie wird einfach nach einem Befehl geschrieben.

$ dd if=/dev/sdb of=example.img status=progress

Damit werden alle relevanten Informationen für eine Fortschrittsanzeige mit dd angezeigt.

362858752 bytes (500 MB, 347 MiB) copied, 45 s, 28,6 MB/s

Alternative dcfldd

dcfldd ist eine erweiterte Version von dd, sie wurde vom U.S. Department of Defense Computer Forensics Lab um mehrere forensische Funktionen erweitert. Diese Variante von dd besitzt bereits eine integrierte Funktion, um den Fortschritt während des Kopiervorgangs anzuzeigen. Der Aufruf erfolgt dabei linear zu dd.

$ dcfldd if=/dev/sdb of=example.img

Über Tobias Scheible

Tobias Scheible

Hallo, mein Name ist Tobias Scheible. Ich bin begeisterter Informatiker und Sicherheitsforscher mit den Schwerpunkten Cyber Security und IT-Forensik. Mein Wissen teile ich gerne anhand von Fachartikeln hier in meinem Blog und in meinem Fachbuch. Als Referent halte ich Vorträge und Workshops für Verbände und Unternehmen u. a. auch offene Veranstaltungen für den VDI und die IHK.

Kommentare

Michael Ballweg am 17. Juli 2023 um 15:43 Uhr

Voll gut, dass dd das inzwischen auch kann. Man sieht schön wie viele Daten schon kopiert wurden und mit welcher Datenrate das aktuell passiert!
dcfldd ist nämlich nicht in den Softwareverzeichnissen von Ubuntu enthalten und somit braucht man grml um das nutzen zu können.

Danke für den Artikel hier, das hat mir geholfen!

Grüße aus Bremen
Michael Ballweg

Schreibe einen Kommentar!

Hilfe zum Kommentieren und Hiweise

Um kommentieren zu können, geben sie bitte mindestens ihren Namen und ihre E-Mail-Adresse an. Bitte nutzen Sie die Kommentarfunktion nicht dazu, andere zu beleidigen oder Spam zu verbreiten. Trolle und Spammer sind hier unerwünscht! Unangemessene Kommentare, die zum Beispiel gegen geltendes Recht verstoßen, eine Gefährdung anderer Besucher darstellen oder keinen sinvollen Inhalt beinhalten, werden gelöscht oder angepasst.

Name: Ihr Name, der oberhalb des Kommentars steht, gerne auch Ihren echten Namen, das erleichtert die Kommunikation für alle. Sollte ein Spam-Keyword als Name verwendet werden, kann dieses entfernt oder korrigiert werden.

E-Mail: Ihre E-Mail Adresse dient zur Identifizierung weiterer Kommentare und damit ich direkt Kontakt aufnehmen kann. Die E-Mail Adresse wird natürlich nicht veröffentlicht und nicht weitergegeben.

Website: Hier können Sie ihren eigenen Blog bzw. ihre eigene Website eintragen, dadurch wird Ihr Name und Ihr Avatar-Bild verlinkt. Werden rein kommerzielle Angebote offensichtlich beworben, setze ich den Link auf nofollow und unangemessene werden einfach entfernt.

Erlaubte HTML-Tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <hr> <big> <small> <sub> <sup> <u>

Ihre E-Mailadresse wird nicht veröffentlicht. Mit dem Absenden anerkennen Sie die Datenschutzhinweis des Blogs.