dcfldd
Réécriture améliorée de dd issue du DoD Computer Forensics Lab, ajoutant hachage à la volée, rapport de progression et sortie découpée pour l'imagerie forensique. Enhanced dd rewrite from the DoD Computer Forensics Lab, adding on-the-fly hashing, progress reporting, and split output for forensic imaging.
↗ https://dcfldd.sourceforge.netOverview
dcfldd is another dd-derived forensic imaging tool, originally developed at the DoD Computer Forensics Lab (a predecessor lineage to dc3dd). It’s used to create verified, forensically sound copies of storage media, with built-in hashing, status output, and the ability to write to multiple outputs or split files simultaneously.
Common Usage
Image a disk while computing MD5 and SHA1
dcfldd if=/dev/sdb of=evidence.img hash=md5,sha1 hashlog=hashes.log
Show progress and log status
dcfldd if=/dev/sdb of=evidence.img statusinterval=256 hashwindow=1M
Write the image to two destinations at once (e.g. local + mounted evidence drive)
dcfldd if=/dev/sdb of=evidence.img of=/mnt/backup/evidence.img
Split the output into fixed-size segments
dcfldd if=/dev/sdb of=evidence.img split=1G splitformat=nnn
Verify a copy against the original
dcfldd if=/dev/sdb vf=evidence.img
Tips
hashwindowenables piecewise hashing — useful for proving integrity of specific chunks in very large imagesvf=(verify file) re-reads the source and compares it against an existing image without re-imaging- Prefer
conv=noerror,syncwhen the source media has bad sectors, so damaged blocks are zero-filled rather than aborting the copy
Help / Man page
dcfldd [OPTION]...
if=FILE input file
of=FILE output file (can be specified multiple times)
hash=ALGO[,ALGO] md5, sha1, sha256, sha384, sha512 (comma separated)
hashlog=FILE log computed hash(es) to FILE
hashwindow=BYTES compute a hash every BYTES of input (piecewise hashing)
hashconv=[before|after]
vf=FILE verify FILE against input
vfhash=ALGO hash algorithm used for verify
split=BYTES split output into pieces of BYTES
splitformat=nnn numeric suffix format for split files
statusinterval=N print status every N blocks
bs=BYTES block size
conv=CONVS noerror, sync, notrunc, etc.
sizeprobe=if determine size of input for progress reporting
Vue d’ensemble
dcfldd est un autre outil d’imagerie forensique dérivé de dd, développé à l’origine au DoD Computer Forensics Lab (une lignée qui a précédé dc3dd). Il sert à créer des copies vérifiées et forensiquement fiables de supports de stockage, avec hachage intégré, sortie de statut, et la possibilité d’écrire vers plusieurs sorties ou de découper des fichiers simultanément.
Utilisation courante
# Imager un disque en calculant MD5 et SHA1
dcfldd if=/dev/sdb of=evidence.img hash=md5,sha1 hashlog=hashes.log
# Afficher la progression et journaliser le statut
dcfldd if=/dev/sdb of=evidence.img statusinterval=256 hashwindow=1M
# Écrire l'image vers deux destinations à la fois (par ex. local + disque de preuve monté)
dcfldd if=/dev/sdb of=evidence.img of=/mnt/backup/evidence.img
# Découper la sortie en segments de taille fixe
dcfldd if=/dev/sdb of=evidence.img split=1G splitformat=nnn
# Vérifier une copie contre l'original
dcfldd if=/dev/sdb vf=evidence.img
Conseils
hashwindowactive le hachage par morceaux : utile pour prouver l’intégrité de morceaux précis dans de très grandes imagesvf=(verify file) relit la source et la compare à une image existante sans réimager- Préférez
conv=noerror,syncquand le support source a des secteurs défectueux, pour que les blocs endommagés soient remplis de zéros plutôt que d’interrompre la copie
Aide / Page de manuel
dcfldd [OPTION]...
if=FILE input file
of=FILE output file (can be specified multiple times)
hash=ALGO[,ALGO] md5, sha1, sha256, sha384, sha512 (comma separated)
hashlog=FILE log computed hash(es) to FILE
hashwindow=BYTES compute a hash every BYTES of input (piecewise hashing)
hashconv=[before|after]
vf=FILE verify FILE against input
vfhash=ALGO hash algorithm used for verify
split=BYTES split output into pieces of BYTES
splitformat=nnn numeric suffix format for split files
statusinterval=N print status every N blocks
bs=BYTES block size
conv=CONVS noerror, sync, notrunc, etc.
sizeprobe=if determine size of input for progress reporting