作為一名擁有超過十年經驗的資深 Linux 用戶,我已經遇到許多工具,這些工具有助於系統管理、安全性和取證的各個方面。
其中一個我覺得特別有用的工具是hashdeep,這是一個強大的命令行工具,主要用於文件完整性檢查和驗證加密哈希。
在本文中,我將詳細介紹hashdeep是什麼,它如何工作,以及如何在 Linux 環境中有效地使用它。
什麼是 hashdeep?
hashdeep是一個用來計算、比較和驗證文件哈希的工具,這些哈希是通過將哈希函數(如SHA-256或MD5)應用於文件內容而創建的唯一標識符。這些哈希充當文件的“指紋”。當兩個文件具有相同的哈希時,意味著它們的內容是相同的。
hashdeep支持多種哈希算法,如MD5、SHA-1和SHA-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
替換為md5
、sha1
或其他支援的算法。

2. 遞迴哈希目錄中的檔案
您還可以使用-r
標誌(遞迴)對目錄中的所有檔案進行哈希處理,包括子目錄:
hashdeep -c sha256 -r /path/to/your/directory

3. 將哈希值保存到檔案
如果您想將計算出的雜湊值保存到文件以便日後比較,可以使用-o
選項來指定輸出文件:
hashdeep -r ravi > hashes.txt cat hashes.txt

4. 驗證文件完整性
hashdeep 最重要的用途之一是驗證文件的完整性。如果您已經有一組已知雜湊值列表(例如,來自以前的會話),則可以將當前文件的雜湊值與這些已知值進行比較,以查看是否有文件已被更改。
為此,使用以下命令來驗證文件:
hashdeep -a -k hashes.txt -r /home/ravi/ravi
此命令將對“ravi
”目錄中的所有文件進行遞歸檢查,以驗證它們的完整性。

5. 同時生成多個雜湊值
要一次計算多種類型的雜湊值(例如,MD5、SHA-1 和 SHA-256),可以使用-c
標誌指定多個算法:
hashdeep -c md5,sha1,sha256 -r /path/to/your/directory

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