Hashdeep:在Linux中進行檔案驗證的強大工具

作為一名擁有超過十年經驗的資深 Linux 用戶,我已經遇到許多工具,這些工具有助於系統管理、安全性和取證的各個方面。

其中一個我覺得特別有用的工具是hashdeep,這是一個強大的命令行工具,主要用於文件完整性檢查和驗證加密哈希。

在本文中,我將詳細介紹hashdeep是什麼,它如何工作,以及如何在 Linux 環境中有效地使用它。

什麼是 hashdeep?

hashdeep是一個用來計算、比較和驗證文件哈希的工具,這些哈希是通過將哈希函數(如SHA-256MD5)應用於文件內容而創建的唯一標識符。這些哈希充當文件的“指紋”。當兩個文件具有相同的哈希時,意味著它們的內容是相同的。

hashdeep支持多種哈希算法,如MD5SHA-1SHA-256,使其在各種用例中具有靈活性。

它最常用於:

  • 檔案完整性檢查:確保檔案在時間內未被篡改或損壞。
  • 數位取證:在法醫調查中驗證檔案的完整性。
  • 備份和還原:驗證備份檔案的完整性,並確保在恢復過程中數據的一致性。

在Linux安裝hashdeep

在深入研究其用法之前,讓我們首先在您的Linux系統上安裝hashdeep,它通常可在大多數發行版軟件包庫中找到,因此安裝很容易。

sudo apt install hashdeep         [On Debian, Ubuntu and Mint]
sudo yum install hashdeep         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/hashdeep  [On Gentoo Linux]
sudo apk add hashdeep             [On Alpine Linux]
sudo pacman -S hashdeep           [On Arch Linux]
sudo zypper install hashdeep      [On OpenSUSE]    
sudo pkg install hashdeep         [On FreeBSD]

安裝完成後,您可以開始使用hashdeep來計算和驗證檔案哈希值。

以下是一些最常見的用例。

1. 計算檔案的哈希值

hashdeep的最基本用法是計算單個檔案或多個檔案的哈希值。

hashdeep -c sha256 myqr.png

在此命令中:

  • -c sha256 指定哈希算法(本例中為SHA-256)。
  • myqr.png 是您要計算哈希值的檔案。

您可以根據需要將sha256 替換為md5sha1或其他支援的算法。

Calculating File Hashes in Linux

2. 遞迴哈希目錄中的檔案

您還可以使用-r 標誌(遞迴)對目錄中的所有檔案進行哈希處理,包括子目錄:

hashdeep -c sha256 -r /path/to/your/directory
Recursively Hashing a Directory

3. 將哈希值保存到檔案

如果您想將計算出的雜湊值保存到文件以便日後比較,可以使用-o選項來指定輸出文件:

hashdeep -r ravi > hashes.txt
cat hashes.txt
Save Calculated Hashes to a File

4. 驗證文件完整性

hashdeep 最重要的用途之一是驗證文件的完整性。如果您已經有一組已知雜湊值列表(例如,來自以前的會話),則可以將當前文件的雜湊值與這些已知值進行比較,以查看是否有文件已被更改。

為此,使用以下命令來驗證文件:

hashdeep -a -k hashes.txt -r /home/ravi/ravi

此命令將對“ravi”目錄中的所有文件進行遞歸檢查,以驗證它們的完整性。

Verifying File Integrity

5. 同時生成多個雜湊值

要一次計算多種類型的雜湊值(例如,MD5、SHA-1 和 SHA-256),可以使用-c標誌指定多個算法:

hashdeep -c md5,sha1,sha256 -r /path/to/your/directory
Calculate Multiple Hashes
結論

hashdeep是一個多才多藝且功能強大的文件完整性檢查和數字取證工具。它支持多種雜湊算法、遞歸目錄雜湊和文件比較,使其成為安全、取證或系統管理工作人員不可或缺的實用工具。

Source:
https://www.tecmint.com/hashdeep-file-integrity-checker/