
Crawlector هو إطار عمل لصيد التهديدات مصمم لفحص المواقع الإلكترونية بحثًا عن الكائنات الضارة.
Crawlector (الاسم Crawlector هو مزيج من Crawler & Detector) هو إطار عمل لصيد التهديدات مصمم لفحص المواقع الإلكترونية بحثًا عن كائنات ضارة.
ملاحظة-1: تم تقديم الإطار لأول مرة في مؤتمر No Hat في بيرغامو، إيطاليا في 22 أكتوبر 2022 (الشرائح، تسجيل يوتيوب). كما تم تقديمه للمرة الثانية في مؤتمر AVAR في سنغافورة في 2 ديسمبر 2022.
ملاحظة-2: الأداة المصاحبة EKFiddle2Yara (وهي أداة تأخذ قواعد EKFiddle وتحولها إلى قواعد Yara) المذكورة في المحاضرة تم إصدارها أيضًا في كلا المؤتمرين.
ملاحظة-3: الإصدار 2.0 (Photoid Build:180923)، وهو إصدار رئيسي، تم إصداره في 18 سبتمبر 2023.
ملاحظة-4: الإصدار 2.1 (Universe-647 Build:031023) تم إصداره في 3 أكتوبر 2023. الإضافة الرئيسية هي ميزة إشعارات التنبيه عبر Slack.
ملاحظة-5: الإصدار 2.2 (Hallstatt Build:051123) تم إصداره في 5 نوفمبر 2023. الإضافة الرئيسية هي ميزة التحكم عن بعد عبر Slack.
ملاحظة-6: الإصدار 2.3 (Munich Build:241123) تم إصداره في 24 نوفمبر 2023. الإضافة الرئيسية هي ميزة خوادم أسماء DNS.
ملاحظة-6: الإصدار 2.3.1 {Nero Build:131225} تم إصداره في 13 ديسمبر 2025. هذا إصدار صيانة.
هذا للتحقق من عناوين URL الضارة مقابل كل صفحة يتم مسحها. يمكن للإطار إما الاستعلام عن قائمة عناوين URL الضارة من خادم URLHaus (التكوين: url_list_web)، أو من ملف على القرص (التكوين: url_list_file)، وإذا تم تحديد الخيار الأخير، فإنه يأخذ الأولوية على الأول.
يعمل عن طريق البحث في محتوى كل صفحة مقابل جميع إدخالات URL في url_list_web أو url_list_file، والتحقق من جميع التكرارات. بالإضافة إلى ذلك، عند التطابق، وإذا تم تعيين خيار التكوين check_url_api على true، فإن Crawlector سيرسل طلب POST إلى عنوان URL لواجهة برمجة التطبيقات المحدد في خيار التكوين url_api، والذي يعيد كائن JSON بمعلومات إضافية حول عنوان URL المطابق. تتضمن هذه المعلومات urlh_status (مثل online, offline, unknown)، urlh_threat (مثل malware_download)، urlh_tags (مثل elf, Mozi)، و urlh_reference (مثل https://urlhaus.abuse.ch/url/1116455/). سيتم تضمين هذه المعلومات في ملف السجل cl_mlog_<current_date><current_time><(pm|am)>.csv (انظر أدناه)، فقط إذا تم تعيين check_url_api على true. وإلا، سيشمل ملف السجل الأعمدة urlh_url (قائمة عناوين URL الضارة المطابقة) و urlh_hit (عدد التكرارات لكل عنوان URL ضار مطابق)، بشرط أن يكون check_url مضبوطًا على true.
يمكن تعطيل ميزة URLHaus بالكامل عن طريق تعيين خيار التكوين check_url على false.
من المهم ملاحظة أن هذه الميزة قد تبطئ المسح، نظرًا للعدد الهائل من عناوين URL الضارة (~ 130 مليون إدخال وقت كتابة هذا) التي يجب التحقق منها، والوقت المستغرق للحصول على معلومات إضافية من خادم URLHaus (إذا تم تعيين الخيار check_url_api على true).
يجب أن تتعرف على ملف التكوين cl_config.ini قبل تشغيل أي جلسة. جميع الأقسام والمعلمات موثقة في ملف التكوين نفسه.
ميزة فحص Yara دون اتصال هي خيار مستقل، بمعنى أنه إذا تم تمكينها، سيقوم Crawlector بتنفيذ هذه الميزة فقط، بغض النظر عن الميزات الأخرى الممكّنة. وينطبق الشيء نفسه على ميزة الزحف للحصول على الشهادات الرقمية للمجالات/المواقع. على أي حال، يوصى بتعطيل جميع الميزات غير المستخدمة في ملف التكوين.
log_to_file أو log_to_cons)، إذا كانت قاعدة Yara تشير فقط إلى سمات وحدة نمطية (مثل PE, ELF, Hash، إلخ)، فسيعرض Crawlector اسم القاعدة فقط عند التطابق، باستثناء بيانات الإزاحة والطول.ملاحظة: لأي خيار يأخذ مسارًا، قدم دائمًا المسار المطلق.
لزيارة/فحص موقع ويب، يجب تخزين قائمة عناوين URL في ملفات نصية، في الدليل “cl_sites”.
يقبل Crawlector ثلاثة أنواع من عناوين URL:
[a-zA-Z0-9_-]{1,128} = <url><id>[depth:<0|1>-><\d+>,total:<\d+>,sleep:<\d+>] = <url>
على سبيل المثال:
mfmokbel[depth:1->3,total:10,sleep:0] = https://www.mfmokbel.com
وهو ما يعادل:
mfmokbel[d:1->3,t:10,s:0] = https://www.mfmokbel.com
حيث، <id> := [a-zA-Z0-9_-]{1,128}
يمكن أيضًا استبدال depth و total و sleep بإصداراتها المختصرة d و t و s، على التوالي.
40 (10 + (10*3)) عنوان URL.ملاحظة 1: يمكن تحويل عنوان URL من النوع 3 إلى عنوان URL من النوع 1 عن طريق تعيين معلمة التكوين live_crawler على false في ملف التكوين، في قسم spider.
ملاحظة 2: يتم تجاهل الأسطر الفارغة والأسطر التي تبدأ بـ “;”، "#" أو “//”.
وظيفة الزحف هي ما يعطي Crawlector القدرة على العثور على روابط إضافية على الصفحة المستهدفة. يدعم الزاحف الميزات التالية:
النوع 3 لكي تعمل وظيفة الزاحفexclude_url. على سبيل المثال، *.zip|*.exe|*.rar|*.zip|*.7z|*.pdf|.*bat|*.dbinclude_url. على سبيل المثال، */checkout/*|*/products/*exclude_httpsadd_ext_links. تحترم هذه الميزة خيار التكوين exclude_url و include_url.ext_links_only. تحترم هذه الميزة خيار التكوين exclude_url و include_url.في الإصدار 2.0، المعرفات لها أنواعها المخصصة بشكل صريح عن طريق إلحاق أي من الأنواع التالية بالمعرف نفسه:
حمل كل معرف نوعه معه، مما يسهل تصفح وتصفية النتائج. علاوة على ذلك، يستخدم هذا داخليًا لأسباب متنوعة.
site_ranking في ملف التكوين بعض الخيارات لتغيير كيفية قراءة ملف CSVsite القدرة على التوسع في موقع معين من خلال محاولة العثور على جميع النطاقات عالية المستوى (TLDs) و/أو النطاقات الفرعية المتاحة لنفس المجال. إذا تم العثور عليها، سيتم فحص النطاقات عالية المستوى/النطاقات الفرعية الجديدة مثل أي مجال آخرrapid_api_key في ملف التكوينfind_tlds، بالإضافة إلى نتائج TLDs من Omnisint Labs API، يحاول الإطار العثور على مجالات أخرى نشطة/مسجلة من خلال المرور عبر كل إدخال TLD، سواء في tlds_file أو tlds_urltlds_url، فيجب أن يشير إلى عنوان URL يستضيف النطاقات عالية المستوى، كل واحد في سطر جديد (يتم تجاهل الأسطر التي تبدأ بأي من الأحرف ';', '#' أو '//')tlds_file، يحمل اسم الملف الذي يحتوي على قائمة النطاقات عالية المستوى (نفس الشيء بالنسبة لـ tlds_url؛ فقط TLD موجود، باستثناء '.'، على سبيل المثال، "com"، "org")tlds_file، فإنه يأخذ الأولوية على وظيفة إعادة توجيه URL في الإصدارات السابقة كانت معطلة. يوفر هذا الإصدار إعادة كتابة كاملة لميزة إعادة التوجيه، مع درجة عالية من تحديد المعلمات للتحكم في تشغيلها. في إصدار الإصدار 2.0، إعادة التوجيه لها قسم مخصص في ملف التكوين، اسمه [redirect]. يمكن تشغيل/إيقاف وظيفة إعادة التوجيه بالكامل عبر الخيار follow_redir، تحت القسم [default].
تتحقق وظيفة إعادة التوجيه من رموز حالة استجابة HTTP: 301، 302، 303، 307 و 308. في حالة التطابق، سيقوم Crawlector بتحليل رأس Location لإعادة التوجيه إلى URL، مع مراعاة عناوين URL النسبية والمطلقة لإعادة التوجيه. تم تصميم وظيفة إعادة التوجيه في Crawlector للأداء والسرعة. يوفر القسم [redirect] القائمة التالية من الخيارات:
يأخذ الخيار depth إما القيمة last أو all. يتحكم في عناوين URL المعاد توجيهها التي سيتم زيارتها، اعتمادًا على ما إذا كان الخيار visit ممكّنًا أم لا. all لزيارة جميع عناوين URL المعاد توجيهها التي تم العثور عليها. last لزيارة آخر عنوان URL معاد توجيهه. تحدث زيارة عناوين URL هذه في نفس الجلسة الحالية. ضع في اعتبارك أنه بغض النظر عن قيمة depth، سيسجل Crawlector قائمة جميع عمليات إعادة التوجيه إلى عناوين URL، بالإضافة إلى العدد الإجمالي، في شكل مطلق. سيتم كتابتها في ملف CSV cl_mlog، تحت الأعمدة redirect_urls و redirect_total.
يحدد الخيار max_redirect حدًا أعلى للعدد الإجمالي لعمليات إعادة توجيه URL التي سيتم اكتشافها.
يتم شرح الخيار skip_similar بشكل أفضل من خلال المثال التالي:
افترض أن عنوان URL الأصلي المعطى لـ Crawlector للزحف هو "https://www.mfa.gov.law" وأن أحد redirect_urls التي تم العثور عليها هو "https://mfa.gov.law/". كما ترى، الاختلاف الوحيد هو الشرطة المائلة للأمام في نهاية عنوان URL. هذان العنوانان متماثلان، وسيستجيب الخادم بنفس الصفحة. إذا تم تعيين الخيار visit على true، فسوف يزحف Crawlector إلى كلا العنوانين، مما يهدر الموارد ويؤدي نفس المهمة مرتين. قد لا تكون هذه مشكلة بالنسبة لـ 1 أو 2 من عناوين URL، ولكن إذا كان لديك آلاف عناوين URL التي تريد الزحف إليها، وتم تمكين الخيار visit، فإن احتمالات أن أكثر من نصفها سيكون لديها عنوان URL مكتشف مماثل مرتفعة جدًا، وفي هذه الحالة، تصبح هذه مشكلة ملحة يجب معالجتها. وبالتالي، فإن تعيين الخيار skip_similar على true سيساعد في حل هذه المشكلة عن طريق تخطي زيارة عناوين URL المتشابهة. بالإضافة إلى سيناريو الشرطة المائلة للأمام، يراعي الخيار skip_similar أيضًا السيناريوهين التاليين: إذا كان عنوان URL المعاد توجيهه يختلف فقط بأحد البادئتين أو كلتيهما، "https://" و "www.".
إحدى الإضافات الرئيسية في الإصدار 2.0 هي القدرة على استخراج أنواع مختلفة من الكائنات من الصفحة، وحفظها على القرص، وفحصها بواسطة Yara و URLHaus، وحفظ النتائج في ملف CSV. لتمكين هذه الميزة، قم بتعيين الخيار extract_obj على true، تحت القسم [page].تنفيذ ميزة استخراج الكائنات العميقة يعمل عن طريق إنشاء ملف أرشيف ويب MHT من صفحة الويب، بما في ذلك النصوص البرمجية الخارجية والصور وملفات CSS. سيتم استخراج جميع الملفات المضمنة إلى المسار المحدد بواسطة الخيار obj_dir (المسار: obj_dir/objects/)، حيث سيتم فحص كل ملف. لا ينبغي الخلط بين هذا التنفيذ ووظيفة المتصفح بدون واجهة رسومية. تختلف DOE ولا تتضمن تحميل الصفحة لاسترداد جميع عناوين URL المستردة ديناميكيًا. لذلك، لها حدودها.
ستتم كتابة بعض البيانات الوصفية لجميع الكائنات المستخرجة في ملف CSV. أشياء يجب مراعاتها عند قراءة ملف CSV: معرف النطاق مع الكائن المستخرج له تنسيق فريد، كما يلي، <domain_id>_<type>_p_obj_<counter> (على سبيل المثال، _mfa_gov_cef40bc5-ba6a-41_t1_p_obj_0_). وسيكون لعنوان URL التنسيق التالي، <url>__<object_filename> (على سبيل المثال، _https://www.mfa.gov.law\_\_bilmur.min.js\_).
إذا تم تعيين الخيار delete_obj على true، فسيتم حذف جميع الكائنات المستخرجة التي لم يتم اكتشافها بواسطة Yara من القرص. إذا تم تعيين الخيار log_all_objs على true، فسيتم تسجيل بيانات جميع الكائنات المستخرجة في نفس ملف CSV cl_mlog. إذا تم تعيين الخيار check_urlhaus تحت القسم [page] على true، فسيتم فحص كل كائن مستخرج عبر URLHaus. لاحظ أن خيارات هذا الخيار موروثة من القسم [urlhaus].
ملاحظة: إذا كان النطاق الذي يتم الزحف إليه يعيد التوجيه إلى نطاق آخر، فيجب تمرير آخر عنوان URL معاد توجيهه إلى DOE لكي يعمل. علاوة على ذلك، يجب أن يبدأ النطاق بـ "HTTP(S)://" لكي تعمل DOE.
في بعض الأحيان، قد ترغب في تشغيل جلسات Crawlector التي قد تستغرق أيامًا لإكمالها، على سبيل المثال، عن طريق الزحف إلى أفضل مليون موقع Alexa، وفي مثل هذا السيناريو، تحتاج إلى طريقة لمراقبة تشغيل الإطار وتقدمه عن بُعد. لذلك، في الإصدار 2.1، أضفت ميزة إشعار تنبيه Slack لتوفير آلية لمراقبة تنفيذ Crawlector في الوقت الفعلي، عن طريق إرسال تنبيهات Yara، وأحداث std::exit()، وتحذيرات وأخطاء العملية، إلى قناة Slack من اختيارك. بالإضافة إلى ذلك، يقوم Crawlector بتثبيت معالج وحدة تحكم في محاولة لمراقبة أنواع معينة من الأحداث، بما في ذلك ctrl_c و ctrl_close و ctrl_break و ctrl_logoff و ctrl_shutdown. من المهم أن نضع في الاعتبار أن Crawlector لا يغير/يعدل سلوك المعالج الافتراضي؛ إنه يبلغ فقط قناة Slack باستلام أي من الأحداث المدرجة. يمكن توسيع هذا في المستقبل ليشمل أنواعًا أخرى من الأحداث.
تستخدم هذه الميزة Slack REST API، وللمصادقة مع الخادم، تستخدم OAuth 2.0. ستحتاج إلى رمز Slack API لاستخدامه، وقناة مهيأة بالأذونات الصحيحة. تقوم هذه الميزة فقط بنشر الرسائل إلى قناة Slack ولا تستقبل أو تعالج أي رسائل واردة.
يوفر القسم [slack_alert] قائمة الخيارات التالية:
لتعطيل أو تمكين هذه الميزة، ما عليك سوى تعيين الخيار alert على true أو false. علاوة على ذلك، تحتاج إلى تحديد api_token، مع اسم channel.
ملاحظة-1: في مرحلة التهيئة لـ Crawlector، يختبر ما إذا كان رمز المصادقة المقدم صالحًا أم لا، أو إذا تم تعيين القناة، وفي حالة الفشل، يتم تعطيل هذه الميزة تلقائيًا.
يتم الإبلاغ عن جميع التنبيهات المبلغ عنها لقناة Slack تحت اسم المستخدم Crawlector v<version_number>، على سبيل المثال، Crawlector v2.1. لدى المستخدم أيقونة شبكة عنكبوت. بالإضافة إلى ذلك، جميع التنبيهات متسلسلة (threaded)، مما يعني أن جميع التنبيهات اللاحقة بعد رسالة البداية الأولى، يتم نشرها كردود. كان هذا قرارًا تصميميًا ويساعد في حال كنت تقوم بتشغيل جلسات متعددة في نفس الوقت، وجميعها تبلغ إلى نفس القناة. تستخدم بعض التنبيهات لغة ترميز markdown للتنسيق.
عندما تنتهي العملية بنجاح وتكون على وشك الخروج، تنشر الرسالة التالية:
Crawlector قد انتهى ويتم إيقاف التشغيل بنجاح
ملاحظة-2: حد معدل Slack لواجهة برمجة تطبيقات نشر الرسائل هو رسالة واحدة في الثانية، مع هامش لبعض الانفجارات. لا يقوم Crawlector بوضع الرسائل في قائمة انتظار لحساب المزيد من المنشورات في الثانية. قد يتغير هذا في المستقبل إذا لزم الأمر؛ ومع ذلك، يسمح الخيار sleep للعملية بالنوم لمدة زمنية محددة بعد كل رسالة منشورة بنجاح.
مع الإصدار 2.2 (الاسم الرمزي Hallstatt)، أقدم القدرة على التحكم في Crawlector عن بُعد عبر مجموعة مختارة من أوامر التحكم المصممة خصيصًا. سبب تقديم هذه الوظيفة هو مراقبة والتحكم في سلوكيات معينة للجلسات التي من المفترض أن تستمر لساعات أو أيام. على سبيل المثال، قد ترغب في تشغيل/إيقاف وظيفة تنبيه Slack، إنهاء Crawlector، وتحميل ملف تكوين، من بين أمور أخرى.
تستخدم هذه الميزة Slack REST API، وللمصادقة مع الخادم، تستخدم OAuth 2.0. ستحتاج إلى رمز Slack API لاستخدامه، وقناة مهيأة بالأذونات الصحيحة. رمز API هو نفسه المستخدم في القسم [slack_alert]، الخيار api_token.
يوفر القسم [slack_alert] قائمة الخيارات الإضافية التالية لوظيفة التحكم عن بُعد:
لتعطيل أو تمكين هذه الميزة، ما عليك سوى تعيين الخيار control على true أو false. يجب أن يكون اسم ctrl_channel هو اسم معرف القناة وليس اسم القناة. يمكنك الحصول عليه عن طريق النقر بزر الماوس الأيمن على اسم القناة -> عرض تفاصيل القناة -> التمرير إلى أسفل النافذة، وسترى حقل معرف القناة: <channel_id>.
يحدد الخيار ctrl_sleep تكرار الاتصال بقناة التحكم المحددة في خيار ctrl_channel لاسترداد أوامر التحكم. يمكنك أيضًا تحديث هذا الخيار عبر أمر التحكم cl_update_delay <time_in_ms>.
قائمة أوامر التحكم المدعومة هي كما يلي:
ملاحظة-1: في مرحلة التهيئة لـ Crawlector، يختبر ما إذا كان رمز المصادقة المقدم صالحًا أم لا، أو إذا تم تعيين القناة، وفي حالة الفشل، يتم تعطيل هذه الميزة تلقائيًا.
إذا تم تمكين هذه الوظيفة، وبمجرد اجتياز التحقق من صحة رمز API، يرسل Crawlector الرسالة "Crawlector جاهز لاستقبال أوامر التحكم. اكتب الأمر cl_help للحصول على قائمة بأوامر التحكم المدعومة." إلى ctrl_channel المحدد.
جميع الردود على أمر تحكم معين متسلسلة (threaded). علاوة على ذلك، تتم قراءة أوامر التحكم على أساس كل جلسة، من وقت بدء الجلسة.
ملاحظة-2: حد معدل Slack لواجهة برمجة تطبيقات استرداد (سجل المحادثة) الرسائل هو طلب واحد في الثانية، مع هامش لبعض الانفجارات. لذلك، إذا تم تعيين الخيار ctrl_sleep على قيمة أقل من ثانية أو أكثر من ثانية، فإن Crawlector يقوم بوضع الرسائل في قائمة انتظار لاستيعاب المزيد من أوامر التحكم في الثانية، وتنفيذها بالترتيب المستلم.
مع الإصدار 2.3 (الاسم الرمزي Munich)، تم تقديم القدرة على تحديد قائمة بخوادم أسماء DNS لجميع استعلامات DNS وحلول DNS-to-IP التي يحاولها Crawlector بمستوى عالٍ من التحكم. هذا مهم في حالة الزحف إلى مواقع ويب محجوبة أو ضارة. تنطبق هذه الميزة على كل وظيفة في Crawlector حيث يتم إجراء استعلام DNS أو طلب DNS-to-IP. والأهم من ذلك، أنها توفر القدرة على أداء DNS عبر TLS لكل خادم أسماء يدعم ذلك.
يوفر القسم [dns_ns] قائمة الخيارات التالية لإدارة هذه الوظيفة:
يأخذ الخيار name_servers قائمة معلمية من خوادم أسماء DNS لاستخدامها، مفصولة بفواصل. قيمة هذا الخيار لها التنسيق: <IPv4_address>(<tls_option>) حيث يأخذ <tls_option> إما القيمة "d_tls" أو "e_tls". تشير الخيارات "d_tls" أو "e_tls" إلى ما إذا كان خادم الأسماء المعني يدعم DNS عبر TLS أم لا، على التوالي. سيتم فرض هذا الخيار اعتمادًا على القيمة المحددة للخيار dns_tls. على سبيل المثال، يشير الإدخال 8.8.8.8(e_tls) إلى استخدام خادم DNS Google 8.8.8.8 مع دعم TLS، بينما يشير الإدخال 12.13.14.15(d_tls) إلى استخدام خادم DNS 12.13.14.15 بدون دعم TLS.
يحدد الخيار dns_tls المستوى المطلوب من فرض TLS. يأخذ هذا الخيار إحدى القيم، "yes" "no" أو "force".
الخيار keep_default هو لإضافة خادم (خوادم) الأسماء الافتراضي إلى قائمة خوادم الأسماء. يفترض أن خادم الأسماء الافتراضي لا يدعم TLS.
الخيار conn_time_out يحدد الوقت بالميلي ثانية للانتظار للحصول على إجابة لاستعلام DNS.
الخيار enable يقوم بتشغيل أو إيقاف تشغيل هذه الوظيفة.
cl_sites.مفتوح لطلبات السحب (pull requests) والمشكلات (issues). التعليقات والاقتراحات موضع تقدير كبير.
محمد مكبل (@MFMokbel)
| id_postfix (type) | الوصف |
|---|
| _t1_p | نوع 1 عادي بدون معرف |
| _sd | نوع فرعي للنطاقات الفرعية |
| _tld | نوع فرعي للنطاقات عالية المستوى |
| _t2_p | نوع 2 عادي مع معرف |
| _t3_s | نوع 3 مجالات مزحف إليها |
| _t3_sc | نوع 3 مجالات مزحف إليها مع عقدة فرعية |
| _t3_ss | نوع 3 عندما يتم تحويل عنوان URL من نوع 3 (_t3_s) إلى عنوان URL من نوع 1 |
| _t3_s_e | نوع 3 روابط خارجية للمجالات المزحف إليها |
| _obj_ | للمسح العميق واستخراج الكائنات |
| _t4_ru | لعنوان URL المعاد توجيهه (لجميع الأنواع) |
tlds_urltld_dl_time_out، هذا لتحديد المهلة الزمنية القصوى لوظيفة dnslookup عند محاولة التحقق مما إذا كان المجال المعني يتم حله أم لاtld_use_connect، هذا الخيار يمكّن وظيفة الاتصال بالمجال المعني عبر قائمة من المنافذ، المحددة في الخيار tlds_connect_portstlds_connect_ports قائمة من المنافذ، مفصولة بفواصل، أو قائمة من النطاقات، مثل 25-40,90-100,80,443,8443 (بداية ونهاية النطاق شاملة)
tld_con_time_out، هذا لتحديد المهلة الزمنية القصوى لوظيفة الاتصالtld_con_use_ssl، تمكين/تعطيل استخدام SSL عند محاولة الاتصال بالمجالsave_to_file_subd على true، سيتم حفظ النطاقات الفرعية المكتشفة في "\expanded\exp_subdomain_<pm|am>.txt"save_to_file_tld على true، سيتم حفظ المجالات المكتشفة في "\expanded\exp_tld_<pm|am>.txt"exit_here على true، فسيخرج Crawlector بعد تنفيذ هذه الوظيفة [site]، بغض النظر عن الخيارات الأخرى الممكّنة. هذا يعني أنه لن يتم الزحف إلى المواقع التي تم العثور عليها أو تصفحها| أمر التحكم | الوصف |
|---|
| cl_get_date | يسترجع تاريخ ووقت بدء Crawlector والتاريخ والوقت الحاليين. |
| cl_ping | يرسل مرة أخرى الرسالة "Pong...". هذا للتحقق من أن قناة C&C تعمل. |
| cl_get_config | يقوم بتحميل ملف التكوين المستخدم حاليًا (مثل cl_config.ini) كملف نصي. |
| cl_update_delay <عدد_صحيح_بالميلي_ثانية> | يقوم بتحديث وقت تسجيل الوصول بين كل طلب سحب لأوامر التحكم. - يغير القيمة (ctrl_sleep) للجلسة الحالية فقط. |
| cl_turn_off_slack_alert | يقوم بإيقاف تشغيل ميزة تنبيه Slack للجلسة النشطة حاليًا. |
| cl_turn_on_slack_alert | يقوم بتشغيل ميزة تنبيه Slack للجلسة النشطة حاليًا. |
| cl_help | يسرد رسالة المساعدة هذه. |
| cl_exit | ينهي Crawlector، بقوة. |