Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hash 获取ext3中数据块哈希值的实用程序/工具_Hash_Md5sum_Ext3 - Fatal编程技术网

Hash 获取ext3中数据块哈希值的实用程序/工具

Hash 获取ext3中数据块哈希值的实用程序/工具,hash,md5sum,ext3,Hash,Md5sum,Ext3,我一直在寻找一个实用工具/工具,它可以在ext3 inode结构中提供md5sum或数据块的任何唯一校验和 要求是验证特定操作后,某些数据块是否归零 我是文件系统新手,不知道是否有任何现有工具可以完成这项工作,或者我需要自己编写这个测试实用程序 谢谢…一位同事提供了一个非常优雅的解决方案。这是剧本。 它需要文件名作为参数,并假定文件系统块大小为4K 这一想法的进一步延伸: 如果您知道与文件stat关联的数据块,则可以使用“dd”命令的“skip”选项并生成小文件,每个文件的长度为1个块。此外,还

我一直在寻找一个实用工具/工具,它可以在ext3 inode结构中提供md5sum或数据块的任何唯一校验和

要求是验证特定操作后,某些数据块是否归零

我是文件系统新手,不知道是否有任何现有工具可以完成这项工作,或者我需要自己编写这个测试实用程序


谢谢…

一位同事提供了一个非常优雅的解决方案。这是剧本。 它需要文件名作为参数,并假定文件系统块大小为4K

这一想法的进一步延伸: 如果您知道与文件stat关联的数据块,则可以使用“dd”命令的“skip”选项并生成小文件,每个文件的长度为1个块。此外,还可以得到这些块的md5sum。因此,通过这种方式,您可以直接从块设备获取md5sum。这不是你每天都想做的事情,而是一个很好的分析技巧

==================================================================================

#!/bin/bash

absname=$1
testdir="/root/test/"
mdfile="md5"
statfile="stat"
blksize=4096
fname=$(basename $absname)
fsize=$( ls -al $absname | cut -d " " -f 5 )
numblk=$(( fsize/blksize ))
x=1
#Create the test directory, if it does not exist already
if [[ ! -d $testdir ]]; 
then
        `mkdir -p $testdir`
fi
#Create multiple files from the test file, each 1 block sized
while [[ $x -le $numblk ]]
do
        (( s=x-1 ))
        `dd if=$absname of=$testdir$fname$x bs=4096 count=1 skip=$s`
        `md5sum $testdir$fname$x >> $testdir$mdfile`
        (( x=x+1 ))
done