
OSINT उपकरण जो DNS और VT सत्यापन के साथ ब्रांड कीवर्ड के विरुद्ध नवीन पंजीकृत डोमेन की निगरानी करके डोमेन स्क्वाटिंग, टाइपोस्क्वाटिंग और फिशिंग जैसे दिखने वाले डोमेन का पता लगाता है।
openSquat एक ओपन सोर्स इंटेलिजेंस (OSINT) सुरक्षा उपकरण है जो आपके ब्रांड या डोमेन को लक्षित करने वाले साइबर स्क्वॉटिंग खतरों की पहचान करता है:
"ब्रांड सुरक्षा के लिए एक शक्तिशाली स्विस आर्मी चाकू" — WhoisXML API ब्लॉग, अगस्त 2022
"एक उपकरण जिसमें टाइपोस्क्वॉटिंग और संबंधित साइबर शरारतों से लड़ने की अद्भुत शक्ति है।" — WhoisXML API ब्लॉग, अगस्त 2022
"नव पंजीकृत डोमेन पर जानकारी एकत्र करने के लिए एक उपयोगी उपकरण।" — शीर्ष 5 फ़िशिंग डिटेक्शन टूल में स्थान — SOCRadar ब्लॉग, जुलाई 2022
"openSquat स्वचालित निगरानी और पहचान के माध्यम से डोमेन स्क्वॉटिंग और फ़िशिंग हमलों के खिलाफ आवश्यक सुरक्षा प्रदान करता है।" — प्रिंस यादव, TutorialsPoint, मार्च 2026
"OpenSquat ने 103 स्क्वॉटिंग डोमेन, 960 सक्रिय फ़िशिंग वेबसाइटें और 53 संदिग्ध प्रमाणपत्र वाले डोमेन की पहचान की।" — शर्मा एट अल., जर्नल ऑफ इंफॉर्मेशन सिक्योरिटी एंड साइबरक्राइम्स रिसर्च (JISCR), खंड 7, अंक 1, जून 2024
openSquat एक ओपन-कोर मॉडल का अनुसरण करता है:
यह मॉडल पारदर्शिता और समुदाय सहयोग को सक्षम बनाता है, साथ ही उद्यम उपयोग के पैमाने, विश्वसनीयता और परिचालन आवश्यकताओं का समर्थन करता है।
pip install opensquat
opensquat -k keywords.txt
git clone https://github.com/atenreiro/opensquat
cd opensquat
pip install -r requirements.txt
python3 opensquat.py -k keywords.txt
रिपॉजिटरी उपयोगकर्ताओं के लिए: नीचे दिए गए सभी उदाहरणों में,
opensquatकोpython3 opensquat.pyसे बदलकर क्लोन किए गए चेकआउट से चलाएँ।
confusable_homoglyphs, homoglyphs, colorama, requests, dnspython, beautifulsoup4# डिफ़ॉल्ट रन
opensquat
# सभी विकल्प दिखाएं
opensquat -h
# कस्टम कीवर्ड फ़ाइल का उपयोग करें
opensquat -k my_keywords.txt
# Quad9 के माध्यम से DNS मान्यता
opensquat --dns
# प्रमाणपत्र पारदर्शिता लॉग जांचें
opensquat --ct
# खुले पोर्ट (80/443) के लिए स्कैन करें
opensquat --portcheck
# फ़िशिंग डेटाबेस से क्रॉस-रेफरेंस
opensquat --phishing results.txt
# JSON में सहेजें
opensquat -o results.json -t json
# CSV में सहेजें
opensquat -o results.csv -t csv
नोट: API साइड (
--api) पर, पाँच आत्मविश्वास स्तर चार फ़ज़ीनेस मानों (exact,low,auto,high) पर मैप होते हैं —-c 3और-c 4दोनोंhighपर मैप होते हैं। पूर्ण मैपिंग और--api-fuzzinessके साथ ओवरराइड करने के तरीके के लिए प्रीमियम और API मोड देखें।
openSquat तीन मोड का समर्थन करता है। डिफ़ॉल्ट (समुदाय) अपरिवर्तित है — मौजूदा उपयोगकर्ताओं को किसी फ्लैग की आवश्यकता नहीं है। दो प्रीमियम मोड एक सिंगल openSquat API कुंजी साझा करते हैं; यदि आप बड़ी फीड के साथ समान स्थानीय डिटेक्शन पाइपलाइन चाहते हैं तो प्रीमियम फीड चुनें, या यदि आप बिना स्थानीय फीड डाउनलोड के सर्वर-साइड डिटेक्शन चाहते हैं तो प्रीमियम API चुनें।
कुंजी प्राप्त करने के लिए opensquat.com पर साइन अप करें। वही कुंजी प्रीमियम फीड (--premium) और प्रीमियम API (--api) दोनों के लिए काम करती है।
--api-key YOUR_KEYOPENSQUAT_API_KEY पर्यावरण चरapi_key.txt (प्रति फ़ाइल एक कुंजी, # टिप्पणियाँ अनुमत)CLI फ्लैग
psआउटपुट में दिखाई देता है। साझा वातावरण में पर्यावरण चर या कुंजी फ़ाइल को प्राथमिकता दें।
# प्रीमियम फीड मोड — समान स्थानीय पाइपलाइन, बड़ी फीड
export OPENSQUAT_API_KEY=os_xxxxxxxxxxxx
opensquat -k keywords.txt --premium
# प्रीमियम API मोड — प्रति कीवर्ड सर्वर-साइड डिटेक्शन
opensquat -k keywords.txt --api
# प्रीमियम API + प्रत्येक लौटाए गए डोमेन पर DNS प्रतिष्ठा जांच
opensquat -k keywords.txt --api --dns
# प्रीमियम API कीवर्ड के अनुसार समूहित JSON आउटपुट के साथ
opensquat -k keywords.txt --api -t json -o results.json
# प्रीमियम API खोज को ट्यून करें
opensquat -k keywords.txt --api --api-fuzziness high --api-history-days 7 --api-max-results 200
जब --premium या --api सफलतापूर्वक एक कुंजी लोड करता है, तो CLI एक मास्क्ड पुष्टिकरण पंक्ति प्रिंट करता है ताकि आप सत्यापित कर सकें कि कौन सी कुंजी ली गई है बिना इसे लीक किए:
[*] API कुंजी लोड हुई: os_gL...L5Mb
प्रीमियम API मोड में, रन सारांश सक्रिय मोड, किए गए API कॉल की संख्या और आपके शेष बैलेंस को उपयोग डेल्टा के साथ रिपोर्ट करता है (उदाहरण के लिए, 4972 (इस रन में 4 का उपयोग किया गया)). प्रति-कीवर्ड प्रगति पंक्तियाँ आपकी कीवर्ड फ़ाइल के समान क्रम में दिखाई देती हैं, भले ही कॉल समानांतर में चलती हों। कोटा समाप्ति (HTTP 429) आंशिक परिणाम शालीनता से लौटाती है; प्रमाणीकरण त्रुटियाँ (401) और योजना त्रुटियाँ (403) स्पष्ट संदेश के साथ रुक जाती हैं।
यदि बैकएंड आपके अनुरोध को दर-सीमित करता है (HTTP 429 Retry-After हेडर के साथ), तो टूल इसे कोटा समाप्ति से अलग करता है: आपको लाल quota exhausted संदेश के बजाय एक पीला [!] दर सीमा हिट (N सेकंड में पुनः प्रयास करें) चेतावनी दिखाई देगी, आंशिक परिणाम अभी भी लौटाए जाते हैं, और सारांश आपकी वास्तविक API बैलेंस को संरक्षित करता है ताकि आप देख सकें कि आपने वास्तव में कितने क्रेडिट का उपयोग किया। बड़े स्कैन पर दर सीमा को ट्रिगर करने से बचने के लिए, सभी वर्कर्स में प्रति सेकंड आउटबाउंड अनुरोधों को सीमित करने के लिए --api-rate-limit N पास करें। अधिकांश बैकएंड के लिए 8 का मान एक सुरक्षित प्रारंभिक बिंदु है।
# सभी वर्कर्स में 8 अनुरोध/सेकंड तक थ्रॉटल करें
opensquat -k keywords.txt --api --api-rate-limit 8
प्रीमियम API मोड के लिए JSON अनुशंसित आउटपुट प्रारूप है क्योंकि API प्रति-डोमेन मेटाडेटा लौटाता है जिसे अन्य प्रारूप उतनी सफाई से नहीं ले जा सकते: पंजीकृत TLD, NRD पहली बार देखी गई तिथि, एक IDN होमोग्राफ फ्लैग, और होमोग्राफ का यूनिकोड रेंडरिंग जब डोमेन एक हो।
opensquat -k keywords.txt --api -t json -o results.json
प्रीमियम API मोड में समृद्ध आउटपुट का उदाहरण (ट्रिम किया गया):
[
{
"keyword": "microsoft",
"domains": [
{"domain": "securite-microsoft.fr", "tld": "fr", "date": "09-04-2026", "idn": false},
{"domain": "xn--mirosoft-hw7c.com", "tld": "com", "date": "09-04-2026", "idn": true, "unicode": "miᴄrosoft.com"}
]
}
]
idn फ्लैग और unicode रेंडरिंग आपको एक नज़र में देखने देते हैं कि xn--mirosoft-hw7c.com वास्तव में ᴄ (लैटिन अक्षर छोटा कैपिटल C) है जो "microsoft" में c का प्रतिरूपण कर रहा है — एक जानकारी जो एक सादा प्यूनिकोड स्ट्रिंग पूरी तरह से छिपा देता है।
CSV आउटपुट भी समर्थित है और समान मेटाडेटा कॉलम के साथ प्रति डोमेन एक पंक्ति उत्पन्न करता है, जो Excel या pandas में काम करने वाले विश्लेषकों के लिए उपयुक्त है:
opensquat -k keywords.txt --api -t csv -o results.csv
CSV UTF-8 BOM के साथ लिखा जाता है ताकि Windows पर Excel यूनिकोड होमोग्राफ कॉलम को सही ढंग से प्रस्तुत करे।
समुदाय और प्रीमियम फीड मोड क्रॉस-मोड स्थिरता के लिए समान JSON शीर्ष-स्तरीय आकार उत्सर्जित करते हैं, लेकिन प्रति प्रविष्टि केवल domain फ़ील्ड भरा जाता है — NRD फीड में होस्टेड API के पास मौजूद प्रति-डोमेन मेटाडेटा नहीं होता:
[
{
"keyword": "microsoft",
"domains": [
{"domain": "mirosoft.com"},
{"domain": "mcrosoft.net"}
]
}
]
यदि आप --premium या --api का चयन किए बिना --api-key पास करते हैं, तो CLI एक-पंक्ति संकेत प्रिंट करता है कि कुंजी को समुदाय मोड में अनदेखा किया जाएगा (कोई मौन मोड-स्विचिंग नहीं)।
प्रीमियम API मोड में, -c/--confidence स्वचालित रूप से API फ़ज़ीनेस पर मैप होता है (0→exact, 1→low, 2→auto, 3→high, 4→high). ओवरराइड करने के लिए --api-fuzziness का उपयोग करें।
प्रीमियम API (--api) --doppelganger और -d/--domains के साथ असंगत है।
keywords.txt)# के साथ शुरू होने वाली पंक्तियाँ टिप्पणियाँ हैं
mycompany
mybrand
myproduct
vt_key.txt)--vt या --subdomains का उपयोग करने के लिए, अपनी API कुंजी जोड़ें:
# अपनी मुफ्त API कुंजी https://www.virustotal.com पर प्राप्त करें
your_api_key_here
api_key.txt)--premium और --api के लिए आवश्यक। कार्यशील निर्देशिका में api_key.txt फ़ाइल बनाएँ:
# अपनी कुंजी https://opensquat.com पर प्राप्त करें
# # से शुरू होने वाली पंक्तियों को अनदेखा किया जाता है; पहली गैर-टिप्पणी पंक्ति का उपयोग किया जाता है।
os_your_key_here
CLI इस क्रम में कुंजी को हल करता है: --api-key फ्लैग → $OPENSQUAT_API_KEY पर्यावरण चर → api_key.txt फ़ाइल। साझा वातावरण में पर्यावरण चर और फ़ाइल विधियाँ CLI फ्लैग पर प्राथमिकता रखती हैं, क्योंकि CLI तर्क ps के माध्यम से दिखाई देते हैं।
crontab के माध्यम से दैनिक चलाएँ:
# pip-स्थापित (अनुशंसित) — प्रतिदिन सुबह 8 बजे, फीड ~7:30 AM UTC पर अपडेट होती है
0 8 * * * cd /path/to/workdir && opensquat -k keywords.txt -o results.json -t json
# रिपॉजिटरी चेकआउट — opensquat.py को python3 के साथ सीधे कॉल करें
0 8 * * * cd /path/to/opensquat && python3 opensquat.py -k keywords.txt -o results.json -t json
यदि आप
api_key.txt(वर्तमान निर्देशिका से हल) पर निर्भर हैं या चाहते हैं किresults.jsonएक विशिष्ट स्थान पर लिखा जाए, तो कार्यशील निर्देशिका मेंcdकरना मायने रखता है।
हम योगदान का स्वागत करते हैं! विवरण के लिए हमारी योगदान मार्गदर्शिका देखें।
Andre Tenreiro — LinkedIn · PGP कुंजी
यह प्रोजेक्ट GNU GPL v3 के तहत लाइसेंस प्राप्त है।
| खतरे का प्रकार | विवरण |
|---|
| 🎣 फ़िशिंग | आपके ब्रांड की नकल करने वाले धोखाधड़ी वाले डोमेन |
| 🔤 टाइपोस्क्वॉटिंग | सामान्य टाइपो वाले डोमेन (जैसे, gooogle.com) |
| 🌐 IDN होमोग्राफ | अन्य वर्णमालाओं से दिखने में समान वर्ण |
| 👥 डोपलगैंगर | आपके ब्रांड नाम वाले डोमेन |
| 🔀 बिट्सक्वॉटिंग | डोमेन नामों में एकल-बिट त्रुटियाँ |
| स्तर | फ्लैग | विवरण |
|---|
| 0 | -c 0 | बहुत उच्च (कम परिणाम, उच्च सटीकता) |
| 1 | -c 1 | उच्च (डिफ़ॉल्ट) |
| 2 | -c 2 | मध्यम |
| 3 | -c 3 | निम्न |
| 4 | -c 4 | बहुत निम्न (अधिक परिणाम, अधिक गलत सकारात्मक) |
| मोड | फ्लैग | यह क्या करता है |
|---|
| समुदाय (डिफ़ॉल्ट) | (कोई नहीं) | मुफ्त NRD फीड (~100k डोमेन/दिन) डाउनलोड करता है और स्थानीय Levenshtein डिटेक्शन चलाता है। |
| प्रीमियम फीड | --premium | आपकी openSquat API कुंजी का उपयोग करके भुगतान वाली NRD फीड (nrd-lite, बहुत बड़ी) डाउनलोड करता है, फिर वही स्थानीय Levenshtein डिटेक्शन चलाता है। |
| प्रीमियम API | --api | स्थानीय फीड डाउनलोड छोड़ देता है। प्रति कीवर्ड openSquat लुकअलाइक REST API से पूछताछ करता है और सर्वर-साइड मैच लौटाता है। |
| तर्क | डिफ़ॉल्ट | विवरण |
|---|
-k, --keywords | keywords.txt | खोजने के लिए कीवर्ड फ़ाइल |
-o, --output | results.txt | आउटपुट फ़ाइल नाम |
-t, --type | txt | आउटपुट प्रारूप: txt, json, csv |
-c, --confidence | 1 | आत्मविश्वास स्तर (0-4). --api मोड में यह स्वचालित रूप से फ़ज़ीनेस पर मैप होता है (-c 3 और -c 4 दोनों → high). |
-d, --domains | — | डाउनलोड करने के बजाय स्थानीय डोमेन फ़ाइल का उपयोग करें |
-u, --url | opensquat फीड | डोमेन फीड डाउनलोड करने का URL |
--dns | — | Quad9 DNS मान्यता सक्षम करें |
--doppelganger | — | केवल डोपलगैंगर मोड (डोमेन में कीवर्ड + पहुँच जांच) |
--ct | — | प्रमाणपत्र पारदर्शिता लॉग खोजें |
--phishing | — | फ़िशिंग डेटाबेस से क्रॉस-रेफरेंस |
--subdomains | — | VirusTotal के माध्यम से सबडोमेन प्राप्त करें |
--portcheck | — | खुले पोर्ट 80/443 की जाँच करें |
--vt | — | VirusTotal के विरुद्ध मान्य करें |
--premium | — | प्रीमियम फीड मोड — भुगतान वाली NRD फीड का उपयोग करें (openSquat API कुंजी आवश्यक) |
--api | — | प्रीमियम API मोड — प्रति कीवर्ड openSquat लुकअलाइक REST API से पूछताछ करें (कोई स्थानीय फीड नहीं) |
--api-key | — | openSquat API कुंजी (या $OPENSQUAT_API_KEY सेट करें, या api_key.txt का उपयोग करें) |
--api-fuzziness | (-c से) | प्रीमियम API मोड: exact, low, high, या auto |
--api-history-days | — | प्रीमियम API मोड: दिनों में NRD इतिहास विंडो (योजना सीमा तक क्लिप किया गया) |
--api-max-results | — | प्रीमियम API मोड: प्रति कीवर्ड अधिकतम परिणाम (योजना सीमा तक क्लिप किया गया) |
--api-rate-limit | (असीमित) | प्रीमियम API मोड: सभी वर्कर्स में प्रति सेकंड अधिकतम आउटबाउंड अनुरोध |