Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
darc — زاحف ويب مظلم يستخدم طلبات وعمال Selenium لجلب الصفحات، والتقاط الرؤوس وملفات تعريف الارتباط، واستخراج الروابط، وحفظ لقطات الشاشة المُصيَّرة لجمع معلومات OSINT. | Kitploit
أدوات/GitHubGitHub/jarryshaw/darc
الاستخبارات مفتوحة المصدر (OSINT)الاستطلاعالبرمجة النصية والأتمتةجمع المعلوماتأمن الويبالخصوصيةزاحف الويب
GitHubjarryshaw/darc

darc

زاحف ويب مظلم يستخدم طلبات وعمال Selenium لجلب الصفحات، والتقاط الرؤوس وملفات تعريف الارتباط، واستخراج الروابط، وحفظ لقطات الشاشة المُصيَّرة لجمع معلومات OSINT.

عرض المستودع
2393929منذ 18 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

darc - مشروع زاحف الويب المظلم

لأي معلومات تقنية و/أو معلومات صيانة، يُرجى التكرم بالرجوع إلى |docs|_.

.. |docs| replace:: الوثائق الرسمية .. _docs: https://darc.jarryshaw.me

ملاحظة: بدءًا من الإصدار 1.0.0، لن يتم تطوير ميزات جديدة للمشروع في هذا المستودع العام. سيتم تطبيق إصلاحات الأخطاء وتصحيحات الأمان فقط على التحديثات والإصدارات الجديدة.

صُمم darc ليكون أداة متعددة الاستخدامات لزحف الويب المظلم. فهو يدمج requests لجمع معلومات طلبات HTTP واستجاباتها، مثل ملفات تعريف الارتباط وحقول الترويسة وغيرها. كما يحزم selenium لتوفير صفحة ويب مُصيَّرة بالكامل ولقطة شاشة لهذا العرض.

.. image:: https://darc.jarryshaw.me/en/latest/_images/darc.jpeg

يمكن وصف العملية العامة لـ darc على النحو التالي:

هناك نوعان من العمال:

  • crawler -- يشغّل darc.crawl.crawler لتوفير عرض حديث لرابط واختبار قابليته للاتصال

  • loader -- يشغّل darc.crawl.loader لتوفير عرض متعمق لرابط وتقديم مزيد من المعلومات المرئية

يمكن وصف العملية العامة على النحو التالي لـ العمال من نوع crawler:

  1. darc.process.process_crawler: الحصول على عناوين URL من قاعدة بيانات روابط requests (راجع darc.db.load_requests)، وتغذية هذه العناوين إلى darc.crawl.crawler.

    ملاحظة:

    إذا كانت darc.const.FLAG_MP هي True، فسيتم استدعاء الدالة مع دعم تعدد المعالجة؛ وإذا كانت darc.const.FLAG_TH هي True، فسيتم استدعاء الدالة مع دعم تعدد الخيوط؛ وإذا لم يكن أي منهما، فسيتم استدعاء الدالة بخيط واحد.

  2. darc.crawl.crawler: تحليل عنوان URL باستخدام darc.link.parse_link، والتحقق مما إذا كان يلزم الزحف إلى عنوان URL (راجع darc.const.PROXY_WHITE_LIST، darc.const.PROXY_BLACK_LIST، darc.const.LINK_WHITE_LIST و darc.const.LINK_BLACK_LIST)؛ إذا كان الأمر كذلك، فسيتم الزحف إلى عنوان URL باستخدام requests.

    إذا كان عنوان URL من مضيف جديد تمامًا، فسيحاول darc أولًا جلب وحفظ robots.txt وخرائط الموقع الخاصة بالمضيف (راجع darc.proxy.null.save_robots و darc.proxy.null.save_sitemap)، ثم استخراج الروابط من خرائط الموقع وحفظها (راجع darc.proxy.null.read_sitemap) في قاعدة بيانات الروابط للزحف المستقبلي (راجع darc.db.save_requests). أيضًا، إذا تم توفير واجهة برمجة تطبيقات الإرسال، فسيتم استدعاء darc.submit.submit_new_host وإرسال المستندات التي تم جلبها للتو.

    إذا كان robots.txt موجودًا، وكان darc.const.FORCE هو False، فسيتحقق darc مما إذا كان مسموحًا بالزحف إلى عنوان URL.

    ملاحظة:

    سيتم دائمًا الزحف إلى المسار الجذري (مثل / في https://www.example.com/) متجاهلًا robots.txt.

    في هذه المرحلة، سيستدعي darc دالة الخطاف المخصصة من darc.sites للزحف والحصول على كائن الاستجابة النهائي. سيحفظ darc ملفات تعريف ارتباط الجلسة ومعلومات الترويسة، باستخدام darc.save.save_headers.

    ملاحظة:

    إذا تم رفع requests.exceptions.InvalidSchema، فسيتم حفظ الرابط بواسطة darc.proxy.null.save_invalid. وتُسقَط أي معالجة إضافية.

    إذا لم يتم تجاهل نوع محتوى مستند الاستجابة (راجع darc.const.MIME_WHITE_LIST و darc.const.MIME_BLACK_LIST)، فسيتم استدعاء darc.submit.submit_requests وإرسال المستند الذي تم جلبها للتو.

    إذا كان مستند الاستجابة HTML (text/html و application/xhtml+xml)، فسيتم استدعاء darc.parse.extract_links بعد ذلك لاستخراج جميع الروابط الممكنة من مستند HTML وحفظ هذه الروابط في قاعدة البيانات (راجع darc.db.save_requests).

    وإذا كان رمز حالة الاستجابة بين 400 و 600، فسيتم حفظ عنوان URL مرة أخرى في قاعدة بيانات الروابط (راجع darc.db.save_requests). إذا لم يكن كذلك، فسيتم حفظ عنوان URL في قاعدة بيانات روابط selenium لمتابعة الخطوات التالية (راجع darc.db.save_selenium).

يمكن وصف العملية العامة كما يلي بالنسبة لـ العاملين من نوع loader:

  1. darc.process.process_loader: في الوقت نفسه، ستقوم darc بالحصول على عناوين URL من قاعدة بيانات روابط selenium (راجع darc.db.load_selenium)، وتغذية هذه العناوين إلى darc.crawl.loader.

    ملاحظة:

    إذا كانت darc.const.FLAG_MP تساوي True، فسيتم استدعاء الدالة مع دعم multiprocessing؛ وإذا كانت darc.const.FLAG_TH تساوي True، فسيتم استدعاء الدالة مع دعم multithreading؛ وإذا لم يكن أي منهما، فسيتم استدعاء الدالة في وضع single-threading.

  2. darc.crawl.loader: تحليل عنوان URL باستخدام darc.link.parse_link وبدء تحميل عنوان URL باستخدام selenium مع Google Chrome.

    عند هذه النقطة، ستستدعي darc دالة hook المخصصة من darc.sites لتحميل وإرجاع كائن selenium.webdriver.chrome.webdriver.WebDriver الأصلي.

    في حال النجاح، سيتم حفظ مستند HTML المصدر المُصيَّر، وسيتم التقاط لقطة شاشة لكامل الصفحة وحفظها.

    إذا تم توفير واجهة برمجة التطبيقات للإرسال، فسيتم استدعاء darc.submit.submit_selenium وإرسال المستند الذي تم تحميله للتو.

    لاحقًا، سيتم استدعاء darc.parse.extract_links بعد ذلك لاستخراج جميع الروابط الممكنة من مستند HTML وحفظ هذه الروابط في قاعدة بيانات requests (راجع darc.db.save_requests).


التثبيت

ملاحظة:

تدعم darc جميع إصدارات Python فوق الإصدار 3.6 وشاملةً له. حاليًا، تدعم وتُختبر فقط على Linux (Ubuntu 18.04) وmacOS (Catalina).

عند التثبيت على إصدارات Python الأقدم من 3.8، ستستخدم darc |walrus|_ لتجميع نفسها من أجل توافق backport.

.. |walrus| replace:: walrus .. _walrus: https://github.com/pybpc/walrus

.. code-block:: shell

pip install python-darc

يرجى التأكد من تثبيت Google Chrome وإصدار Chrome Driver المطابق على نظامك.

بدءًا من الإصدار 0.3.0، أدخلنا Redis_ كخلفية لقاعدة بيانات قائمة المهام.

.. _Redis: https://redis.io

منذ الإصدار 0.6.0، أدخلنا تخزين قاعدة بيانات علائقية (مثل MySQL، SQLite، PostgreSQL، إلخ) كخلفية لقاعدة بيانات قائمة المهام، إلى جانب قاعدة بيانات Redis، لأنه قد يكون مكلفًا جدًا من حيث الذاكرة عندما تصبح قائمة المهام كبيرة جدًا.

.. _MySQL: https://mysql.com/ .. _SQLite: https://www.sqlite.org/ .. _PostgreSQL: https://www.postgresql.org/

يرجى التأكد من تثبيت إحدى قواعد البيانات الخلفية وتهيئتها وتشغيلها عند استخدام مشروع darc.

ومع ذلك، يُشحن مشروع darc مع دعم Docker وCompose. يرجى الاطلاع على جذر المشروع للحصول على الملفات ذات الصلة ومزيد من المعلومات.

أو، يمكنك الرجوع إلى مستودع Docker Hub_ و/أو التثبيت منه:

.. code-block:: shell

docker pull jsnbzh/darc[:TAGNAME]

.. _Docker Hub: https://hub.docker.com/r/jsnbzh/darc

أو من GitHub Container Registry، مع صور أكثر تحديثًا وشمولًا:

.. code-block:: shell

docker pull ghcr.io/jarryshaw/darc[:TAGNAME]

or the debug image

docker pull ghcr.io/jarryshaw/darc-debug[:TAGNAME]


الاستخدام

يوفر مشروع darc واجهة سطر أوامر بسيطة::

usage: darc [-h] [-v] -t {crawler,loader} [-f FILE] ...

the darkweb crawling swiss army knife

positional arguments: link links to craw

optional arguments: -h, --help show this help message and exit -v, --version show program's version number and exit -t {crawler,loader}, --type {crawler,loader} type of worker process -f FILE, --file FILE read links from file

يمكن أيضًا استدعاؤها عبر نقطة دخول الوحدة::

python -m darc ...

ملاحظة:

يمكن أن تحتوي ملفات الروابط على أسطر تعليقات، والتي يجب أن تبدأ بـ #. سيتم تجاهل الأسطر الفارغة وأسطر التعليقات عند التحميل.

تنزيل الأداة