.TH HFIND 1 .SH "نام (NAME)" hfind \- جستجوی یک مقدار هش در پایگاه‌دادهٔ هش .SH "خلاصه دستور (SYNOPSIS)" .B hfind [-i .I db_type .B ] [-f .I lookup_file .B ] [-eq] .I db_file [hashes] .SH "توضیحات (DESCRIPTION)" دستور .B hfind با استفاده از الگوریتم جستجوی دودویی، مقادیر هش را در یک پایگاه‌داده جستجو می‌کند. این قابلیت به کاربر اجازه می‌دهد تا به‌سادگی یک پایگاه‌دادهٔ هش ایجاد کرده و مشخص کند که آیا یک فایل شناخته‌شده است یا خیر. این ابزار با کتابخانهٔ ملی مرجع نرم‌افزار نایست (NIST NSRL) و خروجی دستور \(aqmd5sum\(aq کار می‌کند. پیش از اینکه پایگاه‌داده توسط \(aqhfind\(aq قابل استفاده باشد، باید یک فایل نمایه با گزینهٔ \(aq\-i\(aq ایجاد شود. این ابزار برای کارایی و سرعت بالا ضروری است. بیشتر پایگاه‌های دادهٔ متنی مدخل‌هایی با طول ثابت ندارند و گاهی مرتب‌نشده هستند. ابزار hfind یک فایل نمایه ایجاد می‌کند که مرتب‌شده بوده و دارای مدخل‌هایی با طول ثابت است. این امر امکان جستجوهای سریع را با استفاده از الگوریتم جستجوی دودویی به جای جستجوی خطی مانند \(aqgrep\(aq فراهم می‌سازد. .SH "آرگومان‌ها (ARGUMENTS)" .IP "-i db_type" ایجاد یک فایل نمایه برای پایگاه‌داده. این مرحله باید پیش از انجام هر جستجویی صورت گیرد. آرگومان \(aqdb_type\(aq نوع پایگاه‌داده را مشخص می‌کند (مانند nsrl-md5 یا md5sum). بخش زیر را ببینید. .IP "-f lookup_file" مسیر فایلی را مشخص می‌کند که در هر سطر آن یک مقدار هش قرار دارد. این هش‌ها در پایگاه‌داده جستجو خواهند شد. .IP -e حالت گسترش‌یافته. اطلاعات تکمیلی دیگری علاوه بر نام فایل چاپ می‌شود. (برای تمام انواع پایگاه‌های دادهٔ هش اعمال نمی‌شود). .IP -q حالت سریع. به جای نمایش اطلاعات متناظر با هش، در صورتی که هش پیدا نشود مقدار 0 و در صورت پیدا شدن مقدار 1 را نمایش می‌دهد. اگر از این پرچم استفاده شود، در هر بار تنها یک هش می‌تواند مشخص شود. .IP -V نمایش نسخه .IP db_file محل قرارگیری فایل پایگاه‌دادهٔ هش. .IP [hashes] هش‌هایی که باید جستجو شوند. اگر در خط فرمان ارائه نشوند، از STDIN استفاده می‌شود. اگر فایل‌های نمایه برای هر دو هش SHA-1 و MD5 وجود داشته باشند، می‌توان هر دو نوع هش را در زمان اجرا وارد کرد. .SH "فایل نمایه (INDEX FILE)" دستور .B hfind از یک فایل نمایه برای اجرای جستجوی دودویی به منظور یافتن مقدار هش استفاده می‌کند. این کار بسیار سریع‌تر از استفاده از \(aqgrep\(aq است که جستجوی خطی انجام می‌دهد. پیش از استفاده از پایگاه‌دادهٔ هش، باید یک فایل نمایه متناظر ایجاد شود. این کار با گزینهٔ \(aq\-i\(aq در hfind انجام می‌گیرد. نام فایل نمایهٔ حاصل بر اساس نام فایل پایگاه‌داده تعیین می‌شود. نام فایل شامل نام اصلی و به دنبال آن نوع هش (sha1 یا md5) و پسوند \(aq.idx\(aq خواهد بود. به عنوان مثال، ایجاد یک نمایه هش MD5 از NIST NSRL منجر به \(aqNSRLFile.txt-md5.idx\(aq و نمایه SHA-1 منجر به \(aqNSRLFile.txt-sha1.idx\(aq می‌شود. این فایل دارای دو ستون است. هر مدخل بر اساس ستون نخست که مقدار هش است مرتب می‌شود. ستون دوم آفست بایتی مدخل متناظر را در فایل اصلی در خود دارد. بنابراین، هنگامی که یک هش در نمایه پیدا می‌شود، آفست ثبت شده و سپس \(aqhfind\(aq به مدخل مربوطه در پایگاه‌داده اصلی پرش (seek) می‌کند. انواع ورودی‌های زیر معتبر هستند. برای NSRL، می‌توان از \(aqnsrl-md5\(aq و \(aqnsrl-sha1\(aq استفاده کرد. تفاوت در این است که نمایه بر اساس کدام مقدار هش مرتب می‌شود. مقدار \(aqmd5sum\(aq نیز می‌تواند برای مرتب‌سازی و نمایه‌سازی پایگاه‌های دادهٔ دست‌ساز (\(lqhome made\(rq) استفاده شود. دستور \(aqhfind\(aq می‌تواند داده‌ها را در هر دو فرمت رایج بپذیرد: MD5 (test.txt) = 76b1f4de1522c20b67acc132937cf82e و 76b1f4de1522c20b67acc132937cf82e test.txt .SH "مثال‌ها (EXAMPLES)" برای ایجاد یک فایل نمایه MD5 برای NIST NSRL: # hfind \-i nsrl-md5 /usr/local/hash/nsrl/NSRLFile.txt برای جستجوی یک مقدار در NSRL: # hfind /usr/local/hash/nsrl/NSRLFile.txt 76b1f4de1522c20b67acc132937cf82e 76b1f4de1522c20b67acc132937cf82e Hash Not Found حتی در صورت تمایل می‌توانید هر دو هش SHA-1 و MD5 را جستجو کنید: # hfind \-i nsrl-sha1 /usr/local/hash/nsrl/NSRLFile.txt # hfind /usr/local/hash/nsrl/NSRLFile.txt 76b1f4de1522c20b67acc132937cf82e 80001A80B3F1B80076B297CEE8805AAA04E1B5BA 76b1f4de1522c20b67acc132937cf82e Hash Not Found 80001A80B3F1B80076B297CEE8805AAA04E1B5BA thrdcore.cpp برای ساخت یک پایگاه‌داده از فایل‌های باینری حیاتی یک سیستم معتمد، از \(aqmd5sum\(aq استفاده کنید: # md5sum /bin/* /sbin/* /usr/bin/* /usr/bin/* /usr/local/bin/* /usr/local/sbin/* > system.md5 # hfind \-i md5sum system.md5 برای جستجوی مدخل‌ها، دستورات زیر کار خواهند کرد: # hfind system.md5 76b1f4de1522c20b67acc132937cf82e 76b1f4de1522c20b67acc132937cf82e Hash Not Found یا # md5sum \-q /bin/* | hfind system.md5 928682269cd3edb1acdf9a7f7e606ff2 /bin/bash <...> یا # md5sum \-q /bin/* > bin.md5 # hfind \-f bin.md5 system.md5 928682269cd3edb1acdf9a7f7e606ff2 /bin/bash <...> .SH "همچنین ببینید (SEE ALSO)" .BR sorter (1) .P کتابخانهٔ ملی مرجع نرم‌افزار نایست (NIST NSRL) در نشانی زیر قابل دسترسی است: www.nsrl.nist.gov .SH "مجوز (LICENSE)" تحت مجوز Common Public License توزیع می‌شود که در فایل .I cpl1.0.txt در دایرکتوری مجوزهای The Sleuth Kit موجود است. .SH "نویسندگان (AUTHORS)" Brian Carrier ارسال به‌روزرسانی‌های مستندات به