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.net

Overview

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

  • hashwindow enables piecewise hashing — useful for proving integrity of specific chunks in very large images
  • vf= (verify file) re-reads the source and compares it against an existing image without re-imaging
  • Prefer conv=noerror,sync when 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

  • hashwindow active le hachage par morceaux : utile pour prouver l’intégrité de morceaux précis dans de très grandes images
  • vf= (verify file) relit la source et la compare à une image existante sans réimager
  • Préférez conv=noerror,sync quand 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