
Crawlector एक खतरा शिकार ढाँचा है जो वेबसाइटों पर दुर्भावनापूर्ण वस्तुओं की स्कैनिंग के लिए डिज़ाइन किया गया है।
Crawlector (नाम Crawlector Crawler और Detector का संयोजन है) एक खतरा-शिकार फ्रेमवर्क है जो वेबसाइटों में दुर्भावनापूर्ण वस्तुओं की स्कैनिंग के लिए डिज़ाइन किया गया है।
नोट-1: इस फ्रेमवर्क को पहली बार 22 अक्टूबर, 2022 को इटली के बर्गमो में No Hat सम्मेलन में प्रस्तुत किया गया था (स्लाइड्स, YouTube रिकॉर्डिंग)। साथ ही, इसे दूसरी बार 2 दिसंबर, 2022 को सिंगापुर में AVAR सम्मेलन में प्रस्तुत किया गया।
नोट-2: साथ में दिया गया टूल EKFiddle2Yara (एक ऐसा टूल जो EKFiddle नियमों को लेकर उन्हें Yara नियमों में बदलता है) जिसका उल्लेख वार्ता में किया गया था, दोनों सम्मेलनों में जारी किया गया था।
नोट-3: संस्करण 2.0 (Photoid Build:180923), एक मील का पत्थर रिलीज़, 18 सितंबर, 2023 को जारी किया गया था।
नोट-4: संस्करण 2.1 (Universe-647 Build:031023) 03 अक्टूबर, 2023 को जारी किया गया था। एक प्रमुख जोड़ Slack अलर्ट सूचना सुविधा है।
नोट-5: संस्करण 2.2 (Hallstatt Build:051123) 05 नवंबर, 2023 को जारी किया गया था। एक प्रमुख जोड़ Slack रिमोट कंट्रोल सुविधा है।
नोट-6: संस्करण 2.3 (Munich Build:241123) 24 नवंबर, 2023 को जारी किया गया था। एक प्रमुख जोड़ DNS नेमसर्वर सुविधा है।
नोट-6: संस्करण 2.3.1 {Nero Build:131225} 13 दिसंबर, 2025 को जारी किया गया था। यह एक रखरखाव रिलीज़ है।
यह प्रत्येक स्कैन किए जा रहे पृष्ठ के विरुद्ध दुर्भावनापूर्ण URLs की जाँच करने के लिए है। फ्रेमवर्क या तो URLHaus सर्वर से दुर्भावनापूर्ण URLs की सूची क्वेरी कर सकता है (कॉन्फ़िगरेशन: url_list_web), या डिस्क पर एक फ़ाइल से (कॉन्फ़िगरेशन: url_list_file), और यदि बाद वाला निर्दिष्ट है, तो यह पूर्व पर वरीयता लेता है।
यह url_list_web या url_list_file में सभी URL प्रविष्टियों के विरुद्ध प्रत्येक पृष्ठ की सामग्री की खोज करके काम करता है, सभी घटनाओं की जाँच करता है। इसके अतिरिक्त, एक मिलान पर, और यदि कॉन्फ़िगरेशन विकल्प check_url_api सही पर सेट है, तो Crawlector url_api कॉन्फ़िगरेशन विकल्प में सेट API URL पर एक POST अनुरोध भेजेगा, जो एक मिलान URL के बारे में अतिरिक्त जानकारी के साथ एक JSON ऑब्जेक्ट लौटाता है। ऐसी जानकारी में 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 सही पर सेट है। अन्यथा, लॉग फ़ाइल में urlh_url (मिलान करने वाले दुर्भावनापूर्ण URLs की सूची) और urlh_hit (प्रत्येक मिलान करने वाले दुर्भावनापूर्ण URL के लिए घटनाओं की संख्या) कॉलम शामिल होंगे, बशर्ते check_url सही पर सेट हो।
URLHaus सुविधा को पूरी तरह से अक्षम किया जा सकता है, कॉन्फ़िगरेशन विकल्प check_url को गलत पर सेट करके।
यह ध्यान रखना महत्वपूर्ण है कि यह सुविधा स्कैनिंग को धीमा कर सकती है, क्योंकि जाँच किए जाने वाले दुर्भावनापूर्ण URLs की भारी संख्या (~ इस लेखन के समय लगभग 130 मिलियन प्रविष्टियाँ) और URLHaus सर्वर से अतिरिक्त जानकारी प्राप्त करने में लगने वाले समय (यदि विकल्प check_url_api सही पर सेट है) को ध्यान में रखा जाए।
कोई भी सत्र चलाने से पहले आपको कॉन्फ़िगरेशन फ़ाइल cl_config.ini से परिचित होना चाहिए। सभी अनुभागों और पैरामीटरों का दस्तावेज़ीकरण स्वयं कॉन्फ़िगरेशन फ़ाइल में किया गया है।
Yara ऑफलाइन स्कैनिंग सुविधा एक स्टैंडअलोन विकल्प है, जिसका अर्थ है, यदि सक्षम किया गया है, तो Crawlector अन्य सक्षम सुविधाओं की परवाह किए बिना केवल इस सुविधा को निष्पादित करेगा। और, डोमेन/साइटों के डिजिटल प्रमाणपत्र के लिए क्रॉलिंग सुविधा के लिए भी यही सच है। किसी भी तरह, यह अनुशंसा की जाती है कि आप कॉन्फ़िगरेशन फ़ाइल में सभी अप्रयुक्त सुविधाओं को अक्षम कर दें।
log_to_file या log_to_cons) के आधार पर, यदि कोई Yara नियम केवल एक मॉड्यूल के गुणों (जैसे, PE, ELF, Hash, आदि) को संदर्भित करता है, तो Crawlector मिलान पर केवल नियम का नाम प्रदर्शित करेगा, ऑफ़सेट और लंबाई डेटा को छोड़कर।नोट: किसी भी विकल्प के लिए जो पथ लेता है, हमेशा पूर्ण पथ प्रदान करें।
किसी वेबसाइट पर जाने/स्कैन करने के लिए, URLs की सूची को टेक्स्ट फ़ाइलों में, निर्देशिका "cl_sites" में संग्रहीत किया जाना चाहिए।
Crawlector तीन प्रकार के URLs स्वीकार करता है:
[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)) URLs के साथ समाप्त होंगे।नोट 1: टाइप 3 URL को टाइप 1 URL में बदला जा सकता है, कॉन्फ़िगरेशन फ़ाइल में स्पाइडर अनुभाग में कॉन्फ़िगरेशन पैरामीटर live_crawler को गलत पर सेट करके।
नोट 2: खाली पंक्तियाँ और ";" "#" या "//" से शुरू होने वाली पंक्तियों को अनदेखा किया जाता है।
स्पाइडर कार्यक्षमता ही Crawlector को लक्षित पृष्ठ पर अतिरिक्त लिंक खोजने की क्षमता प्रदान करती है। स्पाइडर निम्नलिखित सुविधाओं का समर्थन करता है:
Type 3 होना आवश्यक हैexclude_url कॉन्फ़िगरेशन विकल्प के माध्यम से मिलान करने वाले URLs को स्पाइडर होने से रोकने के लिए वाइल्डकार्डेड पैटर्न (पाइप-डिलीमिटेड) की एक सूची निर्दिष्ट कर सकते हैं। उदाहरण के लिए, *.zip|*.exe|*.rar|*.zip|*.7z|*.pdf|.*bat|*.dbinclude_url कॉन्फ़िगरेशन विकल्प के माध्यम से केवल उन URLs को स्पाइडर करने के लिए वाइल्डकार्डेड पैटर्न (पाइप-डिलीमिटेड) की एक सूची निर्दिष्ट कर सकते हैं जो पैटर्न से मेल खाते हैं। उदाहरण के लिए, */checkout/*|*/products/*exclude_https के माध्यम से HTTPS URLs को बाहर कर सकते हैंadd_ext_links के माध्यम से केवल मुख्य पृष्ठ के लिए आउटबाउंड/बाहरी लिंक को भी शामिल कर सकते हैं। यह सुविधा exclude_url और include_url कॉन्फ़िगरेशन विकल्प का सम्मान करती है।ext_links_only के माध्यम से केवल मुख्य पृष्ठ के आउटबाउंड/बाहरी लिंक को शामिल कर सकते हैं, अन्य सभी URLs को छोड़कर। यह सुविधा exclude_url और कॉन्फ़िगरेशन विकल्प का सम्मान करती है।रिलीज़ 2.0 में, IDs के प्रकार स्पष्ट रूप से ID में निम्नलिखित प्रकारों में से किसी एक को जोड़कर निर्दिष्ट किए गए हैं:
प्रत्येक ID के साथ उसके प्रकार को ले जाने से परिणामों को ब्राउज़ करना और फ़िल्टर करना आसान हो जाता है। इसके अलावा, इसका उपयोग आंतरिक रूप से विभिन्न कारणों से किया जाता है।
site_ranking CSV फ़ाइल को पढ़ने के तरीके को बदलने के लिए कुछ विकल्प प्रदान करता हैsite अनुभाग एक ही डोमेन के लिए सभी उपलब्ध शीर्ष-स्तरीय डोमेन (TLDs) और/या सबडोमेन खोजने का प्रयास करके किसी दिए गए साइट का विस्तार करने की क्षमता प्रदान करता है। यदि मिल जाता है, तो नए TLDs/सबडोमेन की जाँच किसी भी अन्य डोमेन की तरह की जाएगीrapid_api_key में प्लग करना होगाfind_tlds सक्षम होने पर, Omnisint Labs API tlds परिणामों के अलावा, फ्रेमवर्क प्रत्येक tld प्रविष्टि के माध्यम से जाकर अन्य सक्रिय/पंजीकृत डोमेन खोजने का प्रयास करता है, या तो tlds_file या tlds_url मेंtlds_url सेट है, तो इसे एक URL की ओर इशारा करना चाहिए जो tlds होस्ट करता है, प्रत्येक एक नई पंक्ति पर (पंक्तियाँ जो वर्णों ';', '#' या '//' में से किसी एक से शुरू होती हैं, अनदेखा की जाती हैं)tlds_file, उस फ़ाइल का नाम रखता है जिसमें tlds की सूची होती है (tlds_url के समान; केवल tld मौजूद है, '.' को छोड़कर, उदाहरण के लिए, "com", "org")tlds_file सेट है, तो यह पर वरीयता लेता हैपिछले रिलीज़ में url रीडायरेक्ट कार्यक्षमता टूटी हुई थी। यह रिलीज़ रीडायरेक्ट सुविधा का एक पूर्ण पुनर्लेखन प्रदान करती है, इसके संचालन को नियंत्रित करने के लिए पैरामीटराइजेशन की उच्च डिग्री के साथ। रिलीज़ संस्करण 2.0 में, रीडायरेक्ट का कॉन्फ़िगरेशन फ़ाइल में एक समर्पित अनुभाग है, जिसका नाम [redirect] है। रीडायरेक्शन कार्यक्षमता की संपूर्णता को अनुभाग [default] के तहत विकल्प follow_redir के माध्यम से चालू/बंद किया जा सकता है।
रीडायरेक्ट फ़ंक्शन HTTP प्रतिक्रिया स्थिति कोड की जाँच करता है: 301, 302, 303, 307 और 308। मिलान की स्थिति में, Crawlector URL पर रीडायरेक्ट के लिए Location हेडर को पार्स करेगा, दोनों निरपेक्ष और सापेक्ष रीडायरेक्ट URLs को ध्यान में रखते हुए। Crawlector में रीडायरेक्ट कार्यक्षमता प्रदर्शन और चपलता के लिए डिज़ाइन की गई थी। [redirect] अनुभाग विकल्पों की निम्नलिखित सूची प्रदान करता है:
depth विकल्प या तो last या all मान लेता है। यह नियंत्रित करता है कि पाए गए रीडायरेक्ट URLs में से किसे देखा जाए, यह इस बात पर निर्भर करता है कि visit विकल्प सक्षम है या नहीं। all सभी पाए गए रीडायरेक्ट URLs पर जाने के लिए है। last अंतिम रीडायरेक्ट URL पर जाने के लिए है। उन URLs पर जाना उसी/वर्तमान सत्र में होता है। ध्यान रखें कि depth मान की परवाह किए बिना, Crawlector URLs पर पाए गए सभी रीडायरेक्ट की सूची को कुल संख्या के साथ निरपेक्ष रूप में रिकॉर्ड करेगा। उन्हें cl_mlog CSV फ़ाइल में कॉलम redirect_urls और redirect_total के अंतर्गत लिखा जाएगा।
विकल्प max_redirect खोजे जाने वाले कुल URL रीडायरेक्ट की संख्या पर एक ऊपरी सीमा निर्धारित करता है।
विकल्प skip_similar को निम्नलिखित उदाहरण के माध्यम से सबसे अच्छी तरह से समझाया गया है:
मान लें कि Crawlector को क्रॉल करने के लिए दिया गया मूल URL "https://www.mfa.gov.law" है और पाए गए redirect_urls में से एक "https://mfa.gov.law/" है। जैसा कि आप बता सकते हैं, एकमात्र अंतर URL के अंत में फॉरवर्ड स्लैश है। ये दोनों URLs समान हैं, और सर्वर एक ही पृष्ठ के साथ प्रतिक्रिया देगा। यदि विकल्प visit सही पर सेट है, तो Crawlector दोनों URLs को क्रॉल करेगा, जिससे संसाधन बर्बाद होंगे और एक ही कार्य दो बार करना पड़ेगा। यह 1 या 2 URLs के लिए कोई समस्या नहीं हो सकती है, लेकिन यदि आपके पास क्रॉल करने के लिए 1000s URLs हैं, और विकल्प visit सक्षम है, तो संभावना है कि उनमें से आधे से अधिक में ऐसा खोजा गया URL होगा, ऐसी स्थिति में, यह ध्यान में रखने योग्य एक महत्वपूर्ण मुद्दा बन जाता है। इस प्रकार, विकल्प skip_similar को सही पर सेट करने से समान URLs पर जाने से बचकर इस समस्या को हल करने में मदद मिलेगी। फॉरवर्ड_स्लैश परिदृश्य के अलावा, skip_similar विकल्प निम्नलिखित दो परिदृश्यों को भी ध्यान में रखता है: यदि रीडायरेक्ट URL केवल उपसर्गों "https://" और "www." में से एक या दोनों से भिन्न है।
रिलीज़ 2.0 में प्रमुख जोड़ों में से एक पृष्ठ से विभिन्न प्रकार की वस्तुओं को निकालने, उन्हें डिस्क पर सहेजने, Yara और URLHaus स्कैन करने और परिणामों को CSV फ़ाइल में सहेजने की क्षमता है। इस सुविधा को सक्षम करने के लिए, अनुभाग [page] के तहत विकल्प extract_obj को सही पर सेट करें।गहरे वस्तु निष्कर्षण सुविधा का कार्यान्वयन वेबपेज से एक MHT वेब आर्काइव फ़ाइल बनाकर काम करता है, जिसमें बाहरी स्क्रिप्ट्स, इमेज और CSS फ़ाइलें शामिल होती हैं। सभी एम्बेडेड फ़ाइलों को obj_dir विकल्प द्वारा निर्दिष्ट पथ (पथ: obj_dir/objects/) में निकाला जाएगा, जहाँ प्रत्येक फ़ाइल को स्कैन किया जाएगा। इस कार्यान्वयन को हेडलेस ब्राउज़र कार्यक्षमता के साथ भ्रमित नहीं किया जाना चाहिए। DOE अलग है और इसमें सभी गतिशील रूप से क्वेरी किए गए URL को पुनः प्राप्त करने के लिए पेज लोड करना शामिल नहीं है। इसलिए, इसकी अपनी सीमाएँ हैं।
निकाले गए सभी ऑब्जेक्ट्स का कुछ मेटाडेटा CSV फ़ाइल में लिखा जाएगा। CSV फ़ाइल पढ़ते समय ध्यान रखने योग्य बातें: निकाले गए ऑब्जेक्ट वाले डोमेन की ID का एक अद्वितीय प्रारूप होता है, जो इस प्रकार है, <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 पर सेट किया गया है, तो सभी निकाले गए ऑब्जेक्ट्स के मेटाडेटा को उसी cl_mlog CSV फ़ाइल में लॉग करें। यदि [page] अनुभाग के अंतर्गत विकल्प check_urlhaus को true पर सेट किया गया है, तो प्रत्येक निकाले गए ऑब्जेक्ट को URLHaus-स्कैन किया जाएगा। ध्यान दें कि इस विकल्प के विकल्प [urlhaus] अनुभाग से विरासत में मिले हैं।
नोट: यदि क्रॉल किया जा रहा डोमेन किसी अन्य डोमेन पर रीडायरेक्ट करता है, तो DOE के काम करने के लिए अंतिम रीडायरेक्ट URL को पास किया जाना चाहिए। इसके अलावा, DOE के काम करने के लिए डोमेन की शुरुआत "HTTP(S)://" से होनी चाहिए।
कभी-कभी, आप ऐसे Crawlector सत्र चलाना चाह सकते हैं जिन्हें पूरा होने में दिन लग सकते हैं, उदाहरण के लिए, शीर्ष 1-मिलियन Alexa वेबसाइटों को क्रॉल करके, और ऐसे परिदृश्य के लिए, आपको फ्रेमवर्क के संचालन और प्रगति की दूरस्थ रूप से निगरानी करने का एक तरीका चाहिए। इसलिए, रिलीज़ 2.1 में, मैंने Slack अलर्ट सूचना सुविधा जोड़ी है ताकि अपनी पसंद के Slack चैनल पर Yara के अलर्ट, std::exit() इवेंट्स, और प्रक्रिया चेतावनियों और त्रुटियों को भेजकर, वास्तविक समय में Crawlector के निष्पादन की निगरानी करने का एक तंत्र प्रदान किया जा सके। इसके अलावा, 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 पर सेट करें। इसके अलावा, आपको एक channel नाम के साथ api_token निर्दिष्ट करना होगा।
नोट-1: Crawlector के आरंभीकरण चरण में, यह परीक्षण करता है कि प्रदान किया गया प्रमाणीकरण टोकन मान्य है या नहीं, या चैनल सेट है या नहीं, और विफलता के मामले में, यह सुविधा स्वचालित रूप से अक्षम हो जाती है।
Slack चैनल पर रिपोर्ट किए गए सभी अलर्ट उपयोगकर्ता नाम Crawlector v<संस्करण_संख्या> के तहत रिपोर्ट किए जाते हैं, उदाहरण के लिए, Crawlector v2.1। उपयोगकर्ता के पास मकड़ी के जाले का आइकन है। इसके अतिरिक्त, सभी अलर्ट थ्रेडेड होते हैं, जिसका अर्थ है कि पहले प्रारंभिक संदेश के बाद के सभी बाद के अलर्ट उत्तर के रूप में पोस्ट किए जाते हैं। यह एक डिज़ाइन निर्णय था और यह उस स्थिति में मदद करता है जब आप एक ही समय में कई सत्र चला रहे हों, सभी एक ही चैनल पर रिपोर्ट कर रहे हों। कुछ अलर्ट फ़ॉर्मेटिंग के लिए मार्कडाउन मार्कअप भाषा का उपयोग करते हैं।
जब प्रक्रिया सफलतापूर्वक समाप्त हो जाती है और बाहर निकलने वाली होती है, तो यह निम्नलिखित संदेश पोस्ट करता है:
Crawlector समाप्त हो गया है और सफलतापूर्वक बंद हो रहा है
नोट-2: पोस्ट मैसेज API पर 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 नाम चैनल ID नाम होना चाहिए, चैनल नाम नहीं। आप इसे चैनल नाम पर राइट-क्लिक करके -> चैनल विवरण देखें -> विंडो के नीचे तक स्क्रॉल करें प्राप्त कर सकते हैं, और आपको चैनल ID: <channel_id> फ़ील्ड दिखाई देगी।
विकल्प ctrl_sleep नियंत्रण कमांड प्राप्त करने के लिए ctrl_channel विकल्प में निर्दिष्ट नियंत्रण चैनल को कॉल करने की आवृत्ति निर्धारित करता है। आप नियंत्रण कमांड cl_update_delay <time_in_ms> के माध्यम से इस विकल्प को अपडेट भी कर सकते हैं।
समर्थित नियंत्रण कमांड की सूची निम्नलिखित है:
नोट-1: Crawlector के आरंभीकरण चरण में, यह परीक्षण करता है कि प्रदान किया गया प्रमाणीकरण टोकन मान्य है या नहीं, या चैनल सेट है या नहीं, और विफलता के मामले में, यह सुविधा स्वचालित रूप से अक्षम हो जाती है।
यदि यह कार्यक्षमता सक्षम है, और एक बार यह API टोकन सत्यापन पास कर लेता है, तो Crawlector निर्दिष्ट ctrl_channel पर "Crawlector नियंत्रण कमांड प्राप्त करने के लिए तैयार है। समर्थित नियंत्रण कमांड की सूची के लिए कमांड cl_help टाइप करें।" संदेश भेजता है।
किसी दिए गए नियंत्रण कमांड के सभी उत्तर थ्रेडेड होते हैं। इसके अलावा, नियंत्रण कमांड एक सत्र-दर-सत्र आधार पर, उस समय से पढ़े जाते हैं जब से कोई सत्र शुरू होता है।
नोट-2: पुनर्प्राप्ति (बातचीत इतिहास) संदेश API पर Slack दर सीमा प्रति सेकंड एक अनुरोध है, कुछ फटने के लिए छूट के साथ। इसलिए, यदि ctrl_sleep विकल्प एक सेकंड से कम या एक सेकंड से अधिक के मान पर सेट है, तो Crawlector प्रति सेकंड अधिक नियंत्रण कमांड के लिए संदेशों को कतारबद्ध करता है, और उन्हें प्राप्त होने के क्रम में निष्पादित करता है।
रिलीज़ 2.3 (कोड-नाम Munich) के साथ, Crawlector द्वारा किए गए सभी DNS प्रश्नों और DNS-से-IP रिज़ॉल्यूशन के लिए DNS नाम सर्वरों की एक सूची निर्दिष्ट करने की क्षमता उच्च स्तर के नियंत्रण के साथ प्रस्तुत की गई है। यह उस स्थिति में महत्वपूर्ण है जब आप अवरुद्ध या दुर्भावनापूर्ण वेबसाइटें क्रॉल कर रहे हों। यह सुविधा Crawlector के प्रत्येक फ़ंक्शन पर लागू होती है जहाँ DNS क्वेरी या DNS-से-IP अनुरोध किया जाता है। इससे भी महत्वपूर्ण बात, यह प्रत्येक नाम सर्वर के लिए DNS over TLS करने की क्षमता प्रदान करता है जो इसका समर्थन करता है।
[dns_ns] अनुभाग इस कार्यक्षमता के प्रशासन के लिए विकल्पों की निम्नलिखित सूची प्रदान करता है:
विकल्प name_servers उपयोग करने के लिए DNS नाम सर्वरों की एक पैरामीटरयुक्त सूची लेता है, जो अल्पविराम से अलग होती है। इस विकल्प के मान का प्रारूप है: <IPv4_address>(<tls_option>) जहाँ <tls_option> "d_tls" या "e_tls" मानों में से कोई एक लेता है। विकल्प "d_tls" या "e_tls" यह इंगित करते हैं कि संबंधित नाम सर्वर क्रमशः DNS over TLS का समर्थन करता है या नहीं। यह विकल्प विकल्प dns_tls के लिए निर्धारित मान के आधार पर लागू किया जाएगा। उदाहरण के लिए, प्रविष्टि 8.8.8.8(e_tls) TLS समर्थन के साथ Google DNS सर्वर 8.8.8.8 का उपयोग करने का संकेत देती है, जबकि प्रविष्टि 12.13.14.15(d_tls) बिना TLS समर्थन के DNS सर्वर 12.13.14.15 का उपयोग करने का संकेत देती है।
विकल्प dns_tls TLS प्रवर्तन के आवश्यक स्तर को निर्दिष्ट करता है। यह विकल्प "yes" "no" या "force" मानों में से कोई एक लेता है।
विकल्प keep_default नाम सर्वरों की सूची में डिफ़ॉल्ट नाम सर्वर(सर्वरों) को जोड़ना है या नहीं, इसके लिए है। एक डिफ़ॉल्ट नाम सर्वर को TLS का समर्थन नहीं करने वाला माना जाता है।
विकल्प conn_time_out DNS क्वेरी के उत्तर की प्रतीक्षा करने के लिए मिलीसेकंड में समय निर्दिष्ट करता है।
विकल्प enable इस कार्यक्षमता को चालू या बंद करता है।
cl_sites में दोहराए गए डोमेन/URL की अनुमति है।पुल अनुरोधों और मुद्दों के लिए खुला है। टिप्पणियाँ और सुझाव अत्यधिक सराहनीय हैं।
मोहम्मद मोकबेल (@MFMokbel)
include_url| id_postfix (प्रकार) | विवरण |
|---|
| _t1_p | प्रकार 1 सादा बिना आईडी के |
| _sd | उपप्रकार सबडोमेन के लिए |
| _tld | उपप्रकार tlds के लिए |
| _t2_p | प्रकार 2 सादा आईडी के साथ |
| _t3_s | प्रकार 3 स्पाइडर किए गए डोमेन |
| _t3_sc | प्रकार 3 स्पाइडर किए गए डोमेन चाइल्ड नोड के साथ |
| _t3_ss | प्रकार 3 जब एक प्रकार 3 (_t3_s) url को प्रकार 1 url में बदल दिया जाता है |
| _t3_s_e | प्रकार 3 स्पाइडर किए गए डोमेन बाहरी लिंक |
| _obj_ | गहन स्कैनिंग और ऑब्जेक्ट निष्कर्षण के लिए |
| _t4_ru | रीडायरेक्ट url के लिए (सभी प्रकारों के लिए) |
tlds_urltld_dl_time_out, यह dnslookup फ़ंक्शन के लिए अधिकतम टाइमआउट सेट करने के लिए है जब यह जाँचने का प्रयास किया जाता है कि प्रश्न में डोमेन हल होता है या नहींtld_use_connect, यह विकल्प प्रश्न में डोमेन से पोर्ट की एक सूची पर कनेक्ट करने की कार्यक्षमता को सक्षम करता है, जो विकल्प tlds_connect_ports में परिभाषित हैtlds_connect_ports पोर्ट की एक सूची स्वीकार करता है, अल्पविराम से अलग, या श्रेणियों की एक सूची, जैसे 25-40,90-100,80,443,8443 (श्रेणी प्रारंभ और अंत शामिल हैं)
tld_con_time_out, यह कनेक्ट फ़ंक्शन के लिए अधिकतम टाइमआउट सेट करने के लिए हैtld_con_use_ssl, डोमेन से कनेक्ट करने का प्रयास करते समय SSL के उपयोग को सक्षम/अक्षम करेंsave_to_file_subd सही पर सेट है, तो खोजे गए सबडोमेन को "\expanded\exp_subdomain_<pm|am>.txt" में सहेजा जाएगाsave_to_file_tld सही पर सेट है, तो खोजे गए डोमेन को "\expanded\exp_tld_<pm|am>.txt" में सहेजा जाएगाexit_here सही पर सेट है, तो Crawlector इस [site] फ़ंक्शन को निष्पादित करने के बाद बाहर निकल जाता है, अन्य सक्षम विकल्पों की परवाह किए बिना। इसका मतलब है कि पाई गई साइटों को क्रॉल/स्पाइडर नहीं किया जाएगा| नियंत्रण कमांड | विवरण |
|---|
| cl_get_date | Crawlector शुरू होने की तिथि और समय तथा वर्तमान तिथि और समय प्राप्त करता है। |
| cl_ping | "पोंग..." संदेश वापस भेजता है। यह जाँचने के लिए है कि 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 को जबरदस्ती समाप्त करता है। |