Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
dwipe — أداة لمسح الأجهزة والأقسام بأمان وكفاءة لنظام لينكس | Kitploit
أدوات/GitHubGitHub/joedefen/dwipe
أدوات عامةأدوات التشفير/فك التشفيرالتحقيق الجنائي الرقمياستعادة البياناتأمن الأجهزةالأدوات والمكونات
GitHubjoedefen/dwipe

dwipe

أداة لمسح الأجهزة والأقسام بأمان وكفاءة لنظام لينكس

عرض المستودع
16410منذ 6 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

dwipe

dwipe هي أداة لمسح الأقراص والأقسام في نظام لينكس للمساعدة في تأمين بياناتك. تهدف dwipe إلى تقليل الأخطاء من خلال توفير معلومات وافية حول أجهزتك أثناء الاختيار.

عرض توضيحي لـ dwipe

مقارنة سريعة

الميزةdwipenwipeshreddd
مسح البرامج الثابتة (المسح الآمن SATA/NVMe)✓✗✗✗
المسح البرمجي (صفر، عشوائي زائف)✓✓✓✗
واجهة مستخدم نصية تفاعلية (TUI)✓✓✗✗
مسح متزامن لأقراص متعددة✓✗✗✗
حالة المسح المستمرة✓✗✗✗
اكتشاف/تحرير التبديل السريع✓✗✗✗
حظر الأجهزة/الأقسام✓✗✗✗
استئناف عمليات المسح البرمجي المتوقفة✓✗✗✗
تسجيل عمليات المسح✓✗✗✗
كشف/منع التثبيت✓✓✗✗
التحقق السريع بأخذ عينات إحصائية✓✗✗✗
الإتلاف المعتمد (معايير DoD/Gutmann، التحقق الكامل، الشهادات)✗✓✗✗
  • مسح البرامج الثابتة (SATA/NVMe) هو الأكثر شمولاً والأسرع: المسح المسرّع بالأجهزة يعمل على مستوى المتحكم (ثوانٍ إلى دقائق)، يمسح جميع تعيينات القرص، لكنه يتطلب مسح الجهاز بأكمله بدون تقارير تقدم أو تحقق مرئي.
  • مسح البرمجيات بتمريرة واحدة من الأصفار كافٍ: الأقراص الحديثة (ما بعد 2001) يتم مسحها بشكل موثوق بتمريرة واحدة من الأصفار (NIST SP 800-88). تتوفر أوضاع متعددة التمريرات لمزيد من الثقة لكنها لا توفر ضمانًا أمنيًا إضافيًا.
  • التحقق يستخدم أخذ عينات إحصائية ذكية: حتى 1% من العينات عبر القرص بالكامل عبر 100 قسم، مما يوفر تغطية شاملة بدون قراءة تسلسلية كاملة.

الميزات البارزة

  • واجهة مستخدم نصية تفاعلية مع كشف التبديل السريع - تحديث قائمة الأجهزة في الوقت الفعلي عند تغير التخزين، الأجهزة المضافة حديثًا مُشار إليها بـ ^
  • مسح البرامج الثابتة المسرع بالأجهزة - دعم كامل لعمليات المسح الآمن على مستوى البرامج الثابتة (تعقيم/تهيئة NVMe، مسح أمان ATA لـ SATA) التي تُنجز في ثوانٍ إلى دقائق بدلاً من ساعات
  • مسح متزامن لأقراص متعددة - بدء عمليات مسح على أجهزة متعددة في وقت واحد مع تتبع تقدم فردي وحالات إكمال
  • تتبع الحالة المستمر - حالة المسح تبقى بعد إعادة التشغيل؛ الحالات الممسوحة جزئيًا والكاملة تظل على الجهاز (يمكن استئناف المسح عبر دورات الطاقة)
  • تعريف ذكي للأجهزة - يستخدم أرقام UUID/PARTUUID/التسلسلية لتتبع مستقر للأجهزة عبر إعادة التوصيل
  • حماية السلامة - يمنع مسح الأجهزة المثبتة، يكشف المسح المتداخل، يدعم حظر الأجهزة، تأكيدات مضمنة
  • تحقق ذكي بأخذ عينات إحصائية - تحقق سريع يغطي القرص بالكامل حتى في النسب المنخفضة (1% من العينات من جميع أقسام القرص الـ100)
  • إدخال/إخراج مباشر للقرص - مسح سريع وفعال يتجنب تلويث ذاكرة التخزين المؤقت للصفحات مع كشف تلقائي للتباطؤ/التوقف والإنهاء اللطيف
  • سمات ألوان متعددة - سمات ألوان طرفية مصممة للوضوح مع ردود فعل بصرية حسب السياق (الأجهزة المثبتة خافتة، المسح النشط ساطع)
  • سجل المسح مع التسجيل - عارض سجل مسح مفصل يعرض الطوابع الزمنية، أنظمة الملفات، التسميات، ونسب الإكمال مع سجلات دائمة

المتطلبات

  • نظام تشغيل لينكس (يستخدم واجهات /dev/ و /sys/ و /proc/)
  • بايثون 3.10 أو أعلى
  • صلاحيات الجذر/sudo (يُطلب تلقائيًا عند تشغيل الأداة)
  • أداة lsblk (عادة ما تكون مثبتة مسبقًا على معظم توزيعات لينكس)
  • nvme-cli - لعمليات NVMe (كشف التعقيم/التهيئة)
  • hdparm - لعمليات SATA (كشف مسح الأمان ATA)

اختياري (للنسخ إلى الحافظة في شاشة السجل):

  • xclip أو xsel - لحافظة X11 (apt install xclip أو xsel)
  • wl-clipboard - لحافظة Wayland (apt install wl-clipboard)
  • جلسات SSH تستخدم هروب طرفية OSC 52 (لا حاجة لحزم إضافية)

التثبيت

  • موصى به (باستخدام pipx): pipx install dwipe
  • تحقق من التثبيت: dwipe --help
  • إلغاء التثبيت: pipx uninstall dwipe

بداية سريعة (يرجى قراءة هذا، على الأقل)

  1. قم بتثبيت dwipe
  2. قم بتشغيل dwipe من طرفية (سيُطلب sudo تلقائيًا)
  3. لاحظ التعليمات المساعدة حسب السياق في السطر الأول
  4. انتقل باستخدام مفاتيح الأسهم أو مفاتيح تشبه vi (j/k)
  5. اضغط ? لشاشة التعليمات الكاملة
  6. عند الضغط على w لمسح قرص، يجب كتابة الاختصار (مثل Rand، Zero، Crypto); تُعرض عمليات المسح من الأقل إلى الأكثر توصية، وآخرها مُشار إليه بـ *. عادة، اختر الخيار الأخير، لكن ...
  7. الأقراص ونظام التشغيل غالبًا ما يكذبون بشأن نوع القرص. تغلب عليهم:
    • للأقراص الصلبة HDD، استخدم دائمًا Rand أو Zero (قابل للمقاطعة، يظهر التقدم).
    • لأقراص SSD، استخدم دائمًا مسح البرامج الثابتة إذا كان متاحًا (أسرع، يصل إلى الكتل المخفية).
  8. إذا كان القرص 'مجمّدًا' (Frozen)، قم بتعليق نظامك لفترة وجيزة ثم استأنف؛ dwipe يكتشف الاستئناف تلقائيًا ويعيد المسح. أو اضغط لإعادة المسح يدويًا. يجب أن يعود القرص غير مجمد.

الميزات

يوفر dwipe إمكانيات مسح شاملة للأقراص مع ميزات الأمان:

  • عرض ذكي للأجهزة - يعرض الأقراص والأقسام مع التسميات والأحجام والأنواع ومعلومات البائع/الطراز للمساعدة في تحديد الأجهزة بشكل صحيح
  • حماية السلامة - يمنع مسح الأجهزة المثبتة، يكشف المسح المتداخل، يدعم حظر الأقراص يدويًا
  • كشف التبديل السريع - تحديث قائمة الأجهزة عند تغير التخزين؛ الأجهزة المضافة حديثًا مُشار إليها بـ ^ لتسهيل رؤيتها
  • مسح متزامن لأقراص متعددة - بدء عمليات مسح على أجهزة متعددة في وقت واحد، مع تتبع تقدم فردي وحالات إكمال
  • أوضاع مسح مرنة - اختر بين Rand، Zero، Rand+V (مع تحقق تلقائي)، أو Zero+V (مع تحقق تلقائي)
  • تصفية الأجهزة - تصفية الأجهزة بالاسم/النمط باستخدام التعبير المنتظم في حالة وجود عدد كبير جدًا لشاشة واحدة
  • إمكانية الإيقاف - إيقاف مسح فردي أو جميع عمليات المسح الجارية
  • حظر الأقراص - حظر الأقراص يدويًا لمنع المسح العرضي (الحظر يخفي جميع الأقسام)

ملاحظة: يعرض dwipe تسميات نظام الملفات، وإذا لم تكن متوفرة، تسمية القسم. من الأفضل تسمية الأقسام وأنظمة الملفات جيدًا لتسهيل الاختيار.

الاستخدام

ما عليك سوى تشغيل dwipe من سطر الأوامر بدون وسائط: dwipe

خيارات سطر الأوامر

ملاحظة: تستخدم جميع خيارات التفضيلات آخر القيم المحفوظة كإعدادات افتراضية. تظهر هذه الإعدادات الافتراضية في --help ويمكن تغييرها تفاعليًا باستخدام اختصارات لوحة المفاتيح. وسائط سطر الأوامر تتجاوز التفضيلات المحفوظة.

تكوين المسح

  • --mode {-V,+V} - وضع التحقق (الافتراضي: آخر تفضيل لديك)
    • -V - المسح بدون تحقق تلقائي
    • +V - التحقق من الجهاز بعد اكتمال المسح
  • --passes {1,2,4} - عدد التمريرات للمسح البرمجي (الافتراضي: آخر تفضيل لديك)
    • تمريرة واحدة (1) قياسية لمعظم حالات الاستخدام
    • التمريرات المتعددة (2 أو 4) تتبادل بين أنماط الصفر والعشوائي
  • --verify-pct {1,3,10,30,100} - نسبة التحقق (الافتراضي: آخر تفضيل لديك)
    • نسبة القرص المراد التحقق منه بعد المسح (1% = فحص سريع، 100% = تحقق كامل)

العرض والأداء

  • --dense {True,False} - وضع العرض المدمج (الافتراضي: آخر تفضيل لديك)
    • True - تباعد مضغوط (أسطر فارغة أقل بين الأقراص)
    • False - عرض متباعد (أسطر فارغة بين الأقراص للوضوح)
  • --port-serial {Auto,On,Off} - عرض المنفذ/التسلسلي للقرص (الافتراضي: آخر تفضيل لديك)
    • Auto - إظهار المنفذ/التسلسلي فقط للأقراص الكاملة (موصى به)
    • On - إظهار المنفذ والرقم التسلسلي دائمًا
    • Off - عدم إظهار المنفذ والرقم التسلسلي أبدًا

ضبط معالجة الأقراص

  • --slowdown-stop {0,4,16,64,256} - التوقف إذا تباطأ القرص (الافتراضي: آخر تفضيل لديك، بالميلي ثانية)
    • 0 = معطل
    • القيم الأخرى = فاصل الفحص بالميلي ثانية لانخفاض الأداء
  • --stall-timeout {0,60,120,300,600} - مهلة التوقف بالثواني (الافتراضي: آخر تفضيل لديك)
    • 0 = معطل (لا مهلة أبدًا)
    • القيم الأخرى = إيقاف المسح إذا لم يكن هناك تقدم في نقل البيانات لهذه الثواني

خيارات متقدمة

  • --firmware-wipes أو -F - تمكين مسح البرامج الثابتة
    • يمكّن عمليات المسح الآمن القائمة على الأجهزة (تعقيم/تهيئة NVMe، مسح أمان ATA لـ SATA)
    • بدون هذه العلامة، تتوفر فقط عمليات المسح البرمجي (صفر/عشوائي)
  • --dump-lsblk - تفريغ معلومات الجهاز المحللة والخروج (لأغراض التصحيح)
  • --help - إظهار رسالة المساعدة مع جميع الخيارات المتاحة

دليل الألوان

يستخدم dwipe ترميزًا لونيًا لتوفير ردود فعل بصرية فورية حول حالة الجهاز والعملية:

  • خافت (رمادي) - الأجهزة المثبتة أو المحظورة (لا يمكن مسحها)
  • افتراضي (أبيض) - جاهز للمسح، حالة خاملة، أو تم مسحه سابقًا (قبل هذه الجلسة)
  • سماوي ساطع/أزرق + عريض - مسح نشط أو تحقق قيد التقدم (0-100% كتابة، v0-v100% تحقق)
  • أصفر عريض - مسح متوقف أو مكتمل جزئيًا
  • أخضر عريض - ✅ مسح مكتمل بنجاح في هذه الجلسة (جاهز للتبديل!)
  • أخضر خافت - ✅ مسح مكتمل بنجاح في جلسة سابقة.
  • برتقالي عريض - جهاز تم إدخاله حديثًا (تبديل سريع)
  • أحمر عريض - مطالبات العمليات المدمرة (تأكيد المسح)

سمات الألوان

يدعم dwipe سمات ألوان متعددة لتحسين الرؤية والجماليات.

السمات المتاحة:

  • default - الألوان الافتراضية للطرفية (ألوان ANSI أساسية)
  • dark-mono - أحادي داكن (أبيض تقريبًا على أسود تقريبًا مع ألوان ساطعة)
  • light-mono - أحادي فاتح (أسود تقريبًا على أبيض تقريبًا مع ألوان ساطعة)
  • solarized-dark - لوحة Solarized الداكنة
  • solarized-light - لوحة Solarized الفاتحة (لخلفيات الطرفية الفاتحة)
  • gruvbox - لوحة Gruvbox الداكنة
  • nord - لوحة Nord

تغيير السمات:

  • اضغط t من الشاشة الرئيسية لفتح شاشة معاينة السمة
  • تعرض شاشة السمة أمثلة ألوان لكل غرض لوني (خطر، نجاح، تحذير، إلخ.)
  • اضغط t أثناء وجودك في شاشة السمة للتنقل بين السمات المتاحة ومعاينتها مباشرة
  • اضغط ESC أو ENTER للعودة إلى الشاشة الرئيسية
  • يتم حفظ السمة المحددة وتستمر عبر الجلسات

ميزات السمة:

  • لون تحذير/أصفر لعمليات المسح المتوقفة (الحالة s) - واضح جدًا حتى عندما لا تكون محددة
  • لون خطر/أحمر لطلبات تأكيد المسح
  • لوحات ألوان منسقة مصممة للوضوح في الطرفية

قيم حالة الجهاز

يظهر عمود STATE الحالة الحالية لكل جهاز:

الإجراءات المتاحة

يظهر السطر العلوي الإجراءات المتاحة. بعضها حساس للسياق (متاح فقط لأجهزة معينة):

شاشة السجل

اضغط h لعرض سجل المسح. تعرض شاشة السجل جميع عمليات المسح والتحقق مع الطوابع الزمنية، معلومات الجهاز، والنتائج.

إجراءات شاشة السجل:

  • e - توسيع/طي الإدخال لعرض تفاصيل JSON الكاملة
  • c - نسخ الإدخال الحالي إلى الحافظة (انظر أدناه)
  • / - بحث/تصفية الإدخالات (بادئة بـ / للبحث العميق في JSON)
  • a - تدوير تنسيق الوقت (ago+time, ago, time)
  • ESC - العودة إلى الشاشة الرئيسية

طرق نسخ الحافظة (يتم كشفها تلقائيًا):

ملاحظة: إذا لم يعمل OSC 52 مع طرفيتك، يظل النص يظهر على الشاشة للاختيار اليدوي. بالنسبة لـ tmux، قم بتمكين الحافظة باستخدام set -g set-clipboard on في ملف .tmux.conf الخاص بك.

أنواع المسح

يدعم dwipe مسح البرامج الثابتة (مسرع بالأجهزة) والمسح البرمجي. يتطلب مسح البرامج الثابتة العلامة --firmware-wipes أو -F. الجداول أدناه تسرد طرق المسح من الأكثر تفضيلاً (المرتبة 1) إلى الأقل.

أقراص NVMe

أقراص SATA SSD (مع ميزات التشفير/التعقيم)

أقراص SATA HDD (الأقراص الدوارة)

ملاحظة: ليس لدى الأقراص الصلبة HDD مستوى تآكل أو كتل مخفية، لذا فإن المسح البرمجي بنفس فعالية مسح البرامج الثابتة لكنه يوفر تحكمًا أفضل (تقدم، إيقاف مؤقت/استئناف، قابلية المقاطعة).

الأقسام وأقراص USB/الفلاش

المرتبةالاختصارالاسم الرسميملاحظات
1Randكتابة عشوائية برمجيةمفضل؛ نمط غير متوقع؛ تحقق إحصائي
2Zeroكتابة صفر برمجيةأبسط؛ تحقق سريع (يفشل عند أول بايت غير صفري)

ملاحظات:

  • يعرض مسح البرامج الثابتة الطرق المدعومة فقط لكل قرص (انظر عمود FwCAPS).
  • يتضمن مسح البرامج الثابتة تحققًا تلقائيًا بعينات فورية.
  • لاحقة +V تمكن التحقق التلقائي بعد المسح البرمجي. بدون +V، اضغط v للتحقق يدويًا.
  • المسح البرمجي متعدد التمريرات (2 أو 4) يتبادل أنماط الصفر/العشوائي، وينتهي على الوضع المحدد.
  • أقراص USB والأقسام تفتقر إلى مسح البرامج الثابتة—يتوفر فقط المسح البرمجي.

استئناف عمليات المسح البرمجي المتوقفة

يمكن استئناف عمليات المسح المتوقفة (الحالة s) بالضغط على w على الجهاز. اختر نفس نوع المسح أو سيبدأ من جديد عند 0% مكتملة.

كيف يعمل الاستئناف:

  • يحتفظ بوضع المسح الأصلي (عشوائي أو صفر) من وقت بدء المسح
  • يستخدم إعداد التمريرات الحالي لتحديد كمية الكتابة الإضافية
  • يستمر من إزاحة البايت الدقيقة حيث تم وضع علامة التوقف (مقربة إلى حد المخزن المؤقت). تتم كتابة "العلامات" كل 30 ثانية تقريبًا لذا بالنسبة لعمليات المسح غير المنتهية بلطف، قد يكون الموضع بقدر 30 ثانية (أو أكثر قليلاً) من آخر كتل قرص ممسوحة.

أمثلة على الاستئناف:

الفوائد:

  • قم بتغيير إعداد التمريرات قبل الاستئناف للإنهاء بشكل أسرع (تقليل) أو إضافة المزيد من التمريرات (زيادة)
  • لا حاجة لإعادة التشغيل من البداية
  • يتم تحديث علامة التقدم كل 30 ثانية، لذا يعمل الاستئناف حتى بعد الأعطال أو فقدان الطاقة
  • التحقق التلقائي يمنع الأنماط النهائية الفاسدة

استراتيجية التحقق من المسح البرمجي

يستخدم المسح البرمجي تحققًا ذكيًا مع تحليل إحصائي وتحسينات للإخفاق السريع. التحقق قابل للتكوين واختياري.

أخذ العينات الذكية:

  • يقسم القرص إلى 100 قسم متساوي
  • يأخذ عينات عشوائية من النسبة المئوية القابلة للتكوين (1%, 3%, 10%, 30%, 100%) من كل قسم
  • يضمن تغطية كاملة للقرص حتى مع تحقق بنسبة 1%
  • قم بتعيين نسبة التحقق باستخدام خيار سطر الأوامر --verify-pct (محفوظ كتفضيل)

كشف الأنماط:

  • التحقق من الصفر: يفشل فورًا عند أول بايت غير صفري (سريع!)
  • التحقق العشوائي: تحليل إحصائي لتوزيع البايتات
    • يختبر ما إذا كان توزيع البايتات منتظمًا (جميع قيم البايت 0-255 تظهر بشكل متساوٍ تقريبًا)
    • يفشل سريعًا بشكل دوري إذا تم كشف نمط غير عشوائي
    • يتحقق من وجود دليل على العشوائية للتمييز عن البيانات المنظمة

أوضاع التحقق:

  1. التحقق التلقائي (بعد المسح): استخدم وضعًا بعلامة +V (Rand+V أو Zero+V) واضبط نسبة التحقق > 0
  2. التحقق اليدوي (اضغط v): تحقق من الأجهزة الممسوحة سابقًا أو كشف النمط على أقراص غير موسومة (يتطلب نسبة تحقق > 0)
  3. كشف الأقراص غير الموسومة: يمكن التحقق من الأقراص التي لا تحتوي على نظام ملفات لكشف ما إذا كانت كلها أصفار أو عشوائية
    • إذا نجح، يكتب علامة كما لو أن القرص قد تم مسحه
    • مفيد لكشف الأقراص الممسوحة مسبقًا أو التحقق من مسح الشركة المصنعةحالات التحقق:
  • ✓ (علامة خضراء) - تم التحقق بنجاح
  • ✗ (علامة حمراء) - فشل التحقق
  • لا يوجد رمز - لم يتم التحقق
  • أثناء التحقق: vN% يعرض التقدم (v0% إلى v100%)

لماذا أخذ العينات الإحصائية أفضل من التسلسلي:

  • أخذ العينات الإحصائية مع 100 قسم يوفر تغطية أفضل من القراءة التسلسلية بنفس النسبة المئوية
  • يكتشف المشاكل بشكل أسرع (قد يصادف قطاعًا تالفًا في الأقسام المبكرة)
  • التحليل الإحصائي يتحقق فعليًا من العشوائية (لا يمكن للتسلسلي فعل ذلك)
  • أسرع بكثير من التحقق التسلسلي بنسبة 100%

استراتيجية التحقق من مسح البرامج الثابتة

تستخدم عمليات مسح البرامج الثابتة (المسح الآمن SATA/NVMe) تحققًا نقطيًا غير مشروط يتم تنفيذه تلقائيًا لجميع عمليات المسح الثابت. يتحقق هذا من أن أمر المحو بواسطة الجهاز قد تم تنفيذه فعليًا.

نهج التحقق النقطي:

  • قبل المسح: اكتب كتل بيانات اختبارية في ثلاثة مواقع استراتيجية (بداية، وسط، نهاية القرص)
  • نفذ أمر مسح البرامج الثابتة على مستوى وحدة التحكم
  • بعد المسح: اقرأ تلك المواقع الثلاثة وتحقق من أنها لم تعد تحتوي على البيانات الأصلية
  • إذا كانت أي كتلة اختبارية لا تزال تحتوي على بيانات مشابهة، فإن المسح قد فشل ويتم الإبلاغ عنه

لماذا التحقق النقطي فعال:

  • يثبت أن المسح الداخلي للقرص قد تم فعليًا (وليس مجرد إقبال بالأمر)
  • استراتيجية المواقع الثلاثة (0%، 50%، 100% من القرص) تضمن التغطية عبر الجهاز بالكامل
  • يلتقط أخطاء البرامج الثابتة أو أعطال الأجهزة التي قد تدّعي النجاح ولكنها لا تفعل شيئًا
  • أسرع بكثير من التحقق التسلسلي (يقرأ فقط 3 كتل بدلاً من نسبة مئوية من القرص بأكمله)
  • إلزامي وغير مشروط: لا يتطلب تهيئة من المستخدم أو خطوة تحقق إضافية

ملاحظة مهمة: لا تظهر عمليات مسح البرامج الثابتة تحققًا بنسبة مئوية مثل عمليات مسح البرامج. يتم التحقق النقطي بصمت كجزء من عملية المسح، ويتم تسجيل النجاح/الفشل في علامة حالة المسح الدائمة.

معلومات التقدم

عند مسح برمجيات جهاز، يعرض dwipe:

  • الوقت المنقضي - الوقت منذ بدء المسح (مثل 1m18s)
  • الوقت المتبقي - الوقت التقديري للانتهاء (مثل -3m6s)
  • معدل الكتابة - الإنتاجية الحالية (مثل "45.2MB/s")
  • MaxSlowDown - نسبة أسرع/أبطأ سرعة كتابة (مثل ÷2). إذا تجاوز الحد الأدنى، يتوقف أمر الكتابة.
  • MaxWriteDelay - أكبر تأخير في الكتابة تم اكتشافه (مثل 𝚫122ms). إذا تجاوز الحد الأدنى، يتوقف أمر الكتابة.

الحالة المستمرة

حالتا W (تم المسح) و s (تم المسح جزئيًا) مستمرتان عبر عمليات إعادة التشغيل. يتم تحقيق ذلك عن طريق كتابة البيانات الوصفية إلى أول 16 كيلوبايت من الجهاز:

  • أول 15 كيلوبايت: أصفار
  • التالي 1 كيلوبايت: بيانات JSON (الطابع الزمني، عدد البايتات المكتوبة، الحجم الكلي، الوضع، حالة التحقق)

عند عرض جهاز بحالة مستمرة، تظهر معلومات إضافية:

  • متى تم مسحه ونسبة الإكمال
  • حالة التحقق: ✓ (نجاح)، ✗ (فشل)، أو لا يوجد رمز (لم يتم التحقق)

شاشة المساعدة

عند كتابة ?، يمكنك رؤية المفاتيح المتاحة وخيارات سطر الأوامر مع إعداداتها الحالية.

التنقل

يمكنك التنقل في قائمة الأجهزة باستخدام:

  • مفاتيح الأسهم - لأعلى/لأسفل للتحرك عبر القائمة
  • مفاتيح تشبه Vi - j (لأسفل)، k (لأعلى)، g (أعلى)، G (أسفل)
  • Page Up/Down - تنقل سريع عبر القوائم الطويلة

تصفية الأجهزة

يقوم المفتاح / بتفعيل التصفية التدريجية بالبحث بأسلوب vim:

كيف يعمل:

  • اضغط / لبدء التصفية
  • اكتب نمط regex الخاص بك - يتم تحديث قائمة الأجهزة أثناء الكتابة (تصفية فورية)
  • يظهر موضع المؤشر الخاص بك بـ | في الرأس
  • تعمل مفاتيح الأسهم و Home/End و Backspace للتحرير
  • ENTER لقبول الفلتر
  • ESC للإلغاء واستعادة الفلتر السابق

أمثلة على التصفية:

الفلتر يدعم أنماط regex. فيما يلي بعض الأمثلة المفيدة:``` /sda # Show only sda and its partitions /sd[ab] # Show sda, sdb and their partitions /nvme # Show all NVMe devices /nvme0n1p[12] # Show only partitions 1 and 2 of nvme0n1 /usb # Show devices with "usb" in their labels

root@kitploit:~
اضغط **ESC** من الشاشة الرئيسية لمسح الفلتر والعودة لعرض جميع الأجهزة.

**ملاحظة:** يتم تجاهل أنماط التعبير العادية غير الصالحة - يبقى الفلتر على آخر نمط صالح أثناء الكتابة.

## اعتبارات الأمان

**قيود مهمة للمسح البرمجي:**

- يدعم `dwipe` المسح متعدد التمريرات بأنماط متبادلة، لكنه لا ينفذ تسلسلات الأنماط المعتمدة المحددة لـ DoD 5220.22-M أو Gutmann
- كافٍ أكثر من اللازم للبيانات **الشخصية والتجارية** التي لا تتطلب تدميرًا معتمدًا (قديم الطراز)
- **غير مناسب** للبيانات السرية أو شديدة الحساسية التي تتطلب مسحًا بنمط محدد معتمد مع شهادات امتثال
- **اعتبارات SSD**:
  - تستخدم أقراص SSD الحديثة موازنة التآكل وقد تحتفظ بالبيانات في كتل غير معينة
  - قد يمنع TRIM/DISCARD المحو الكامل للبيانات
  - بالنسبة لـ SSD، فكر في استخدام أدوات المحو الآمن الخاصة بالشركة المصنعة لتحقيق أقصى أمان
  - قد لا يوفر الوضع العشوائي أمانًا إضافيًا مقارنة بالأصفار على أقراص SSD

**أفضل الممارسات:**
- تحقق من تسميات الأجهزة وأحجامها بعناية قبل المسح
- استخدم ميزة **المنع** لحماية الأقراص الهامة
- فكر في التشفير للبيانات الحساسة كإجراء أمني أساسي

---
---

## استكشاف الأخطاء وإصلاحها

### تعذر تشغيل dwipe
- **الخطأ: "cannot find lsblk on $PATH"** - قم بتثبيت حزمة `util-linux`
- **تم رفض الإذن** - يطلب `dwipe` صلاحيات sudo تلقائيًا؛ تأكد من أنك تستطيع استخدام sudo

### مشاكل عرض الطرفية
- **عرض تالف بعد تعطل** - قم بتشغيل الأمر `reset` أو `stty sane`
- **الألوان لا تعمل** - تأكد من أن طرفيتك تدعم الألوان (معظم الطرفيات الحديثة تدعمها)

### مشاكل المسح
- **لا يمكن مسح جهاز** - تحقق من عمود STATE:
  - **Mnt** - قم بفك تركيب القسم أولاً: `sudo umount /dev/sdXN`
  - **Blk** - اضغط **b** لإلغاء المنع
  - **Busy** - قسم آخر على القرص يتم مسحه
- **المسح بطيء جدًا** - أمر طبيعي للأقراص الكبيرة؛ تحقق من معدل الكتابة للتحقق من التقدم
- **المسح يبدو عالقًا** - غالبًا بسبب أقراص تالفة؛ الإدخال/الإخراج المباشر يجعل التقدم ثابتًا تقريبًا على الأقراص الجيدة.

---
### اعتبارات مسح البرامج الثابتة

تتميز عمليات مسح البرامج الثابتة (عمليات المحو الآمن لـ SATA/NVMe) بخصائص مختلفة عن المسح البرمجي:

**الأقراص المجمدة:**
- عادةً ما يتم تجميد أقراص SATA بواسطة BIOS/UEFI أثناء POST كإجراء أمني
- هذه ميزة أمنية على مستوى القرص، وليست قيدًا لـ `dwipe`
- **الحل**: قم بتعليق نظامك لفترة وجيزة ثم استئنافه؛ يكتشف `dwipe` الاستئناف تلقائيًا ويعيد المسح (أو اضغط **r** يدويًا). يؤدي التعليق/الاستئناف إلى إعادة تشغيل طاقة رابط SATA مما يزيل التجميد.
- إذا بقي القرص مجمدًا بعد التعليق/الاستئناف، حاول إيقاف التشغيل الكامل (10+ دقائق لتفريغ مكثفات القرص) ثم الإقلاع وإعادة المسح

**غرابة الأجهزة والتوافق:**
- تحتوي أجهزة التخزين على تطبيقات برامج ثابتة متنوعة وخصائص أجهزة غريبة تؤثر على عمليات المحو الآمن
- قد لا تدعم بعض الأقراص بشكل كامل عمليات التعقيم المعينة، أو تعاني من مشاكل توقيت، أو تظهر سلوكًا غير متوقع
- لا يمكن لـ `dwipe` ضمان مسح جميع الأجهزة بنجاح—بعض الأجهزة ببساطة قد لا تتعاون مع أوامر المسح
- تحقق دائمًا من القرص بعد المسح (استخدم مفتاح **v**) لتأكيد اكتمال المحو بالفعل
- لتدمير البيانات الهامة على أجهزة غريبة، فكر في استخدام أدوات المحو الآمن الخاصة بالشركة المصنعة كحل بديل

---
### التعامل مع الأقراص التالفة أو الفاشلة

يتضمن dwipe حماية مدمجة لأجهزة التخزين الإشكالية:

**معالجة الأخطاء التلقائية.** عند مواجهة أخطاء القرص أثناء المسح:
*   أخطاء الكتابة المتتالية: يتم إلغاء المسح بعد 3 محاولات كتابة فاشلة متتالية
*   حد إجمالي الأخطاء: يتم إلغاء المسح بعد 100 خطأ كتابة إجمالي
*   إعادة المحاولة التلقائية: عند فشل الكتابة، يتم إغلاق الجهاز وفتحه تلقائيًا (استرداد الأخطاء العابرة)
*   استرداد واصف الملف: يتم اكتشاف حالات FD السيئة وتحديث المقابض

**كشف التوقف والتباطؤ.** يراقب dwipe أداء الكتابة ويمكنه إلغاء العمليات الإشكالية:
*   كشف التوقف: يتم الإلغاء إذا لم يكن هناك تقدم لمدة 5 دقائق (قابل للتكوين)
*   كشف التباطؤ: يقيس السرعة الأساسية خلال أول 5 ثوانٍ، ويتم الإلغاء إذا انخفضت السرعة عن الحد (على سبيل المثال، 1/4 من السرعة الأساسية)
*   تتبع التقدم: تضمن المراقبة المستمرة وصول الكتابات فعليًا إلى الجهاز

**إذا توقف المسح...** إذا بدا المسح متجمدًا أو غير مستجيب:
*   المحاولة الأولى: اضغط s لإيقاف المسح المحدد بلطف
*   انتظر بصبر: قد تستغرق بعض عمليات القرص دقائق حتى تنتهي مهلة على مستوى النواة
*   إذا بقي عالقًا: اضغط S (Shift+s) لإيقاف جميع عمليات المسح
*   الملاذ الأخير: إذا كانت الواجهة مجمدة تمامًا:
    *   اضغط Ctrl-Z لتعليق `dwipe`
    *   في الطرفية، قم بتشغيل: `sudo pkill -f "python.*dwipe" (يستهدف فقط عمليات dwipe)`
    *   قم بتشغيل reset لاستعادة الطرفية إذا كان العرض تالفًا

**منع المشاكل مع الوسائط الإشكالية.** للأقراص المعروفة بالتلف أو الأجهزة المشكوك فيها:
*   ابدأ بالتحقق: اضغط v أولاً لاختبار قابلية القراءة
*   استخدم سرعات أقل: قم بتمكين تقنين الصفحات المتسخة (مفتاح d) لتقليل ضغط الإدخال/الإخراج
*   راقب سجلات النظام: تحقق من dmesg -w في طرفية أخرى بحثًا عن أخطاء القرص
*   ضع في اعتبارك مشاكل الأجهزة: غالبًا ما تسبب أغلفة USB والكابلات ووحدات التحكم مشاكل

**أنماط أخطاء القرص الشائعة**
*   انقطاع اتصال USB: سيكتشف dwipe ويحاول الاسترداد
*   القطاعات التالفة: سيتم عد الأخطاء؛ يتم إلغاء المهمة إذا كانت مفرطة
*   مهلات وحدة التحكم: قد تتعطل النواة؛ يجب أن يؤدي كشف التوقف إلى التنشيط
*   القرص ممتلئ: يتم التعامل مع أخطاء الكتابة بعد نهاية الجهاز بلطف

**الاسترداد بعد الإلغاء.** إذا تم إلغاء المسح بسبب أخطاء القرص:
*   تظهر حالة الجهاز s (متوقف/جزئي)
*   يمكنك محاولة الاستئناف (w) - قد ينجح إذا كان الخطأ عابرًا
*   أو التحقق (v) لمعرفة ما تم كتابته بالفعل
*   فكر في استبدال القرص إذا استمرت الأخطاء

ملاحظة: بعض الأقراص معطلة بشكل أساسي ولا يمكن مسحها بشكل موثوق. سيحمي dwipe نفسه ونظامك، لكنه لا يستطيع إصلاح أعطال الأجهزة.
---
#### توصيات لمسح SATA عبر USB
*   المتطلب 1: دعم SAT (SCSI-ATA Translation)

    *   يجب أن يكون جسر USB قادرًا على "تمرير" أوامر ATA.
    *   الاختبار: إذا كان التطبيق يستطيع رؤية قسم "الأمان" في تفاصيل القرص، فإن الجسر يدعم SAT.

*   المتطلب 2: طاقة مستقرة
    *   تستهلك عمليات مسح البرامج الثابتة (خاصة على أقراص HDD 3.5 بوصة) طاقة ذروة كبيرة.
    *   المخاطرة: إذا تم استخدام كابل "bus-only" يعمل بطاقة USB، فقد ينخفض الجهد أثناء المسح، مما يتسبب في إعادة تعيين الجسر و"تدمير" القرص في حالة مقفلة.
    *   التوصية: استخدم دائمًا قاعدة USB مزودة بطاقة خارجية لأقراص 3.5 بوصة.

*   المتطلب 3: سلامة مهلة الأمر
    *   يجب ألا يحتوي الجسر على "مؤقت مراقبة" عدواني.
    *   المخاطرة: بعض الجسور تفصل الاتصال إذا لم ترَ "بيانات" لمدة 60 ثانية. أثناء مسح البرامج الثابتة، يكون القرص مشغولاً داخليًا ولا يرسل بيانات.
    *   التوصية: استخدم شرائح عالية الجودة مثل ASMedia (1153E) أو JMicron (JMS578).

##### فتح الجهاز المقفل```
sudo hdparm --user-master u --security-unlock NULL /dev/sdX
sudo hdparm --user-master u --security-disable NULL /dev/sdX

المساهمة

نرحب بالمشكلات وطلبات السحب على github.com/joedefen/dwipe

الترخيص

رخصة MIT - راجع ملف LICENSE للحصول على التفاصيل.

تنزيل الأداة
r
  • إذا كان القرص 'مقفلاً' (Locked)، يجب عليك فتحه يدويًا (انظر قسم "فتح جهاز مقفل" أدناه). إذا قام dwipe بقفله، كلمة المرور هي NULL؛ وإلا استخدم كلمة المرور التي قفلته بها.
  • سير عمل التبديل السريع لأقراص SATA: DEL للفصل، قم بتبديل الأقراص فعليًا، ثم r لإعادة المسح (إذا لزم الأمر).
  • حالةالمعنى
    -الجهاز جاهز للمسح
    ^الجهاز جاهز للمسح وتمت إضافته بعد بدء dwipe (تبديل سريع)
    Mntالقسم مثبت أو القرص يحتوي على أقسام مثبتة - لا يمكن مسحه
    N%المسح قيد التقدم (يظهر النسبة المئوية المكتملة، 0-100%)
    vN%التحقق قيد التقدم (يظهر النسبة المئوية المكتملة، v0-v100%)
    STOPيتم إيقاف المسح أو التحقق
    sتم إيقاف المسح - الجهاز ممسوح جزئيًا (يمكن إعادة التشغيل أو التحقق)
    Wاكتمل المسح بنجاح (يمكن المسح مرة أخرى أو التحقق)
    Blkالقرص محظور يدويًا - الأقسام مخفية ولا يمكن مسحها
    Unblتم إلغاء حظر القرص للتو (حالة عابرة)
    مفتاحالإجراءالوصف
    wمسحمسح الجهاز المحدد (يتطلب تأكيدًا)
    vتحققتحقق من جهاز ممسوح أو كشف النمط على قرص غير موسوم (حساس للسياق)
    sإيقافإيقاف المسح المحدد قيد التقدم (حساس للسياق)
    Sإيقاف الكلإيقاف جميع عمليات المسح الجارية
    DELحذفإزالة القرص من النظام (للأقراص الكاملة فقط، حساس للسياق)
    bحظر/إلغاء حظرحظر أو إلغاء حظر قرص لمنع المسح العرضي
    /تصفيةتصفية الأجهزة حسب نمط التعبير المنتظم (يعرض الأجهزة المطابقة + جميع عمليات المسح النشطة)
    rإعادة مسحإعادة مسح جميع الأجهزة وإعادة ضبط كشف قدرات الأجهزة
    hالسجلعرض سجل المسح
    tالسماتفتح شاشة معاينة السمة لعرض وتغيير سمات الألوان
    q أو xخروجالخروج من التطبيق (يوقف جميع عمليات المسح أولاً)
    ?مساعدةعرض شاشة المساعدة مع جميع الإجراءات ومفاتيح التنقل
    ESCمسح التصفيةمسح التصفية والقفز إلى أعلى القائمة
    ESCرجوعالعودة إلى الشاشة السابقة إذا كنت في شاشة متداخلة
    aتنسيق الوقتتدوير تنسيق عرض الوقت في سجل المسح (ago+time, ago, time)
    البيئةالطريقةملاحظات
    جلسة SSHOSC 52تسلسل هروب طرفية؛ يتطلب دعم الطرفية (iTerm2, kitty, alacritty, Windows Terminal, tmux مع set-clipboard on)
    Waylandwl-copyيتطلب حزمة wl-clipboard
    X11xclip/xselيتطلب حزمة xclip أو xsel
    احتياطيطرفيةيخرج إلى شل، يطبع الإدخال للنسخ اليدوي
    المرتبةالاختصارالاسم الرسميملاحظات
    1Cryptoمسح التشفير (Sanitize Cryptographic Erase)الأسرع؛ يمسح مفاتيح التشفير؛ إبطال فوري للبيانات
    2Blockمسح الكتلة (Sanitize Block Erase)سريع؛ يعيد تعيين جميع الكتل إلى حالة غير مخصصة
    3FCryptoتهيئة مع مسح التشفير (Format with Crypto Erase)سريع؛ يعيد تهيئة مساحة الاسم مع محو المفاتيح
    4FEraseتهيئة مع مسح بيانات المستخدم (Format with User Data Erase)سريع؛ يعيد التهيئة مع مسح بسيط للبيانات؛ أقل شمولاً من التشفير
    5Ovwrمسح الكتابة الفوقية (Sanitize Overwrite)دقائق؛ يكتب نمطًا على جميع الكتل؛ الأكثر شمولاً لكن نادرًا ما يحتاج
    6Randكتابة عشوائية برمجيةاحتياطي؛ يكتب بيانات عشوائية عبر البرنامج؛ ساعات للأقراص الكبيرة
    7Zeroكتابة صفر برمجيةاحتياطي؛ يكتب أصفارًا عبر البرنامج؛ قابل للتحقق لكنه أبطأ
    المرتبةالاختصارالاسم الرسميملاحظات
    1SCryptoمسح التشفير (Sanitize Cryptographic Erase)الأسرع؛ يمسح مفاتيح التشفير؛ يتطلب ميزة SANITIZE
    2Enhancedمسح الأمان المحسن لـ ATA (ATA Security Erase Enhanced)سريع؛ مسح عميق خاص بالبائع مع تدمير مفتاح التشفير
    3SBlockمسح الكتلة (Sanitize Block Erase)سريع؛ يعيد تعيين الكتل إلى حالة المصنع؛ يتطلب ميزة SANITIZE
    4Eraseمسح الأمان العادي لـ ATA (ATA Security Erase Normal)دقائق؛ يكتب أصفارًا إلى جميع القطاعات؛ مدعوم على نطاق واسع
    5SOverwriteمسح الكتابة الفوقية (Sanitize Overwrite)دقائق؛ يكتب فوق بنمط؛ يتطلب ميزة SANITIZE
    6Randكتابة عشوائية برمجيةاحتياطي؛ لا يمكن الوصول إلى الكتل المستوية التآكل أو المعاد تعيينها
    7Zeroكتابة صفر برمجيةاحتياطي؛ لا يمكن الوصول إلى الكتل المستوية التآكل أو المعاد تعيينها
    المرتبةالاختصارالاسم الرسميملاحظات
    1Randكتابة عشوائية برمجيةمفضل؛ قابل للمقاطعة، قابل للاستئناف، يظهر التقدم
    2Zeroكتابة صفر برمجيةمفضل؛ قابل للمقاطعة، قابل للاستئناف، تحقق سريع
    3Enhancedمسح الأمان المحسن لـ ATA (ATA Security Erase Enhanced)بطيء (ساعات)؛ غير قابل للمقاطعة؛ لا تقدم؛ نفس نتيجة البرمجية
    4Eraseمسح الأمان العادي لـ ATA (ATA Security Erase Normal)بطيء (ساعات)؛ غير قابل للمقاطعة؛ لا تقدم؛ نفس نتيجة البرمجية
    توقف عندالتمريرات الحاليةما يحدث
    50%1 تمريرةيستأنف: يكتب الـ 50% المتبقية
    150% (1.5 من 4 تمريرات)1 تمريرةمكتمل بالفعل (150% > 100%)
    150% (1.5 من 4 تمريرات)4 تمريراتيستأنف: يكتب 2.5 تمريرة إضافية (150% → 400%)
    100% (1 تمريرة مكتملة)2 تمريراتيستأنف: يكتب التمريرة 2 (100% → 200%)