Как опытный пользователь Linux с более чем десятилетним стажем, я сталкивался со множеством инструментов, которые помогают в различных аспектах администрирования системы, безопасности и судебной экспертизы.
Один из таких инструментов, который я считаю особенно полезным, это hashdeep, мощная утилита командной строки, используемая в основном для проверки целостности файлов и верификации криптографических хешей.
В этой статье я предоставлю подробное понимание того, что такое hashdeep, как он работает и как вы можете эффективно использовать его в средах Linux.
Что такое hashdeep?
hashdeep — это инструмент, используемый для вычисления, сравнения и проверки хешей файлов, которые являются уникальными идентификаторами, создаваемыми путем применения хеш-функции (например, SHA-256 или MD5) к содержимому файла. Эти хеши служат “отпечатками пальцев” для файлов. Когда два файла имеют один и тот же хеш, это означает, что их содержимое идентично.
hashdeep поддерживает несколько алгоритмов хеширования, таких как MD5, SHA-1 и SHA-256, что делает его гибким для различных случаев использования.
Он чаще всего используется в:
- Проверка целостности файлов: Гарантирование, что файлы не были изменены или повреждены со временем.
- Цифровая криминалистика: Проверка целостности файлов в ходе судебно-следственных исследований.
- Резервное копирование и восстановление: Проверка целостности резервных файлов и обеспечение согласованности данных в процессе восстановления.
Установка hashdeep в Linux
Прежде чем мы погрузимся в его использование, давайте сначала установим hashdeep на вашу систему Linux, который доступен в большинстве репозиториев пакетов дистрибутива, поэтому установка проста.
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” по хешам, перечисленным в файле hashes.txt, что позволит вам правильно проверить их целостность.

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/