0
我一直在尋找一種實用工具/工具,它可以提供ext3 inode結構中的數據塊的md5sum(或任何唯一的校驗和)。實用工具/工具來獲取ext3中的數據塊的散列值
要求是驗證某些數據塊是否在特定操作後歸零。
我是新來的文件系統,不知道現有的工具是否可以完成這項工作,或者我需要自己編寫這個測試工具。
謝謝...
我一直在尋找一種實用工具/工具,它可以提供ext3 inode結構中的數據塊的md5sum(或任何唯一的校驗和)。實用工具/工具來獲取ext3中的數據塊的散列值
要求是驗證某些數據塊是否在特定操作後歸零。
我是新來的文件系統,不知道現有的工具是否可以完成這項工作,或者我需要自己編寫這個測試工具。
謝謝...
一位同事提供了一個非常完美的解決方案。這是腳本。 它需要文件作爲參數的名稱,並假定文件系統的塊大小爲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