Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
WhoDat — पिवोटेबल Reverse WhoIs / PDNS Fusion जिसमें Registrant Tracking और Alerting शामिल है, साथ ही स्वचालित क्वेरीज़ के लिए API (JSON/CSV/TXT) | Kitploit
उपकरण/GitHubGitHub/mitrecnd/whodat
OSINT (खुला स्रोत खुफिया)टोहीडेटा निष्कासनजानकारी एकत्र करनाखतरा खुफियाAPI सुरक्षाDNS विश्लेषणलॉग विश्लेषणArchived
GitHubmitrecnd/whodat

WhoDat

पिवोटेबल Reverse WhoIs / PDNS Fusion जिसमें Registrant Tracking और Alerting शामिल है, साथ ही स्वचालित क्वेरीज़ के लिए API (JSON/CSV/TXT)

रिपॉजिटरी देखें
159384 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

WhoDat परियोजना

नोट: PyDat 5 के विकास के दौरान, आंतरिक संचालन ने अपनी दिशा बदल दी है, जिसके परिणामस्वरूप PyDat परियोजना को सेवानिवृत्त किया जा रहा है। हालाँकि PyDat 5 की क्षमताओं को अंतिम रूप देने के लिए बहुत सारा काम किया गया है, फिर भी कुछ क्षमताओं का पूरी तरह से परीक्षण नहीं किया गया है।

WhoDat परियोजना whoisxmlapi डेटा, या ElasticSearch में रहने वाले किसी भी whois डेटा के लिए एक इंटरफ़ेस है। यह whois डेटा, वर्तमान IP रिज़ॉल्यूशन और निष्क्रिय DNS को एकीकृत करता है। विश्लेषकों को अनुसंधान करने के लिए एक इंटरैक्टिव, पिवोटेबल एप्लिकेशन प्रदान करने के अलावा, इसमें एक API भी है जो JSON प्रारूप में आउटपुट की अनुमति देगा।

WhoDat मूल रूप से Chris Clark द्वारा लिखा गया था। मूल कार्यान्वयन PHP में है और इस रिपॉजिटरी में legacy_whodat निर्देशिका के अंतर्गत उपलब्ध है। कोड को Wesley Shields और Murad Khan द्वारा Python में खरोंच से फिर से लिखा गया था, और यह pydat निर्देशिका के अंतर्गत उपलब्ध है।

PHP संस्करण उन लोगों के लिए छोड़ दिया गया है जो इसे चलाना चाहते हैं, लेकिन यह Python कार्यान्वयन के रूप में पूर्ण सुविधाओं या विस्तार योग्य नहीं है, और इसका समर्थन नहीं किया जाता है।

PHP कार्यान्वयन पर अधिक जानकारी के लिए कृपया readme देखें। Python कार्यान्वयन पर अधिक जानकारी के लिए पढ़ते रहें...

PyDat

pyDat Chris Clark's WhoDat कोड का एक Python कार्यान्वयन है। इसे PHP कार्यान्वयन की तुलना में अधिक विस्तार योग्य और अधिक सुविधाओं के साथ डिज़ाइन किया गया है।

पूर्वापेक्षाएँ

pyDat एक python 3.6+ एप्लिकेशन है जिसे चलाने के लिए निम्नलिखित की आवश्यकता होती है:

  • ElasticSearch कहीं स्थापित हो (संस्करण 7.x समर्थित है)
  • python पैकेज (सेटअप स्क्रिप्ट के माध्यम से स्थापित)

डेटा आबादी

डेटाबेस को ठीक से आबाद करने में सहायता के लिए, डेटा को स्वचालित रूप से आबाद करने के लिए pydat-populator नामक एक प्रोग्राम प्रदान किया गया है। ध्यान दें कि whoisxmlapi से आने वाला डेटा हमेशा सुसंगत नहीं लगता है, इसलिए डेटा को इनजेस्ट करते समय कुछ सावधानी बरतनी चाहिए। यह सुनिश्चित करने के लिए और अधिक परीक्षण करने की आवश्यकता है कि सभी डेटा ठीक से इनजेस्ट हो। अपना डेटाबेस स्थापित करने वाले किसी भी व्यक्ति को स्क्रिप्ट चलाने से पहले उपलब्ध फ़्लैग्स को पढ़ना चाहिए ताकि यह सुनिश्चित हो सके कि उन्होंने इसे अपने सेटअप के अनुसार अनुकूलित किया है। निम्नलिखित pydat-populator -h का आउटपुट है:

root@kitploit:~
usage: pydat-populator [-h] [-c CONFIG] [--debug] [--debug-level DEBUG_LEVEL]
                    [-x EXCLUDE [EXCLUDE ...]] [-n INCLUDE [INCLUDE ...]]
                    [--ignore-field-prefixes [IGNORE_FIELD_PREFIXES [IGNORE_FIELD_PREFIXES ...]]]
                    [-e EXTENSION] [-v] [-s] [--pipelines PIPELINES]
                    [--shipper-threads SHIPPER_THREADS]
                    [--fetcher-threads FETCHER_THREADS]
                    [--bulk-ship-size BULK_SHIP_SIZE]
                    [--bulk-fetch-size BULK_FETCH_SIZE]
                    [-u [ES_URI [ES_URI ...]]] [--es-user ES_USER]
                    [--es-pass ES_PASSWORD] [--cacert ES_CA_CERT]
                    [--es-disable-sniffing] [-p ES_INDEX_PREFIX]
                    [--rollover-size ES_ROLLOVER_DOCS] [--ask-pass]
                    [-r | --config-template-only | --clear-interrupted-flag]
                    [-f INGEST_FILE | -d INGEST_DIRECTORY] [-D INGEST_DAY]
                    [-o COMMENT]

optional arguments:
-h, --help            show this help message and exit
-c CONFIG, --config CONFIG
                        location of configuration file for
                        environmentparameter configuration (example yaml file
                        in /backend)
--debug               Enables debug logging
--debug-level DEBUG_LEVEL
                        Debug logging level [0-3] (default: 1)
-x EXCLUDE [EXCLUDE ...], --exclude EXCLUDE [EXCLUDE ...]
                        list of keys to exclude if updating entry
-n INCLUDE [INCLUDE ...], --include INCLUDE [INCLUDE ...]
                        list of keys to include if updating entry (mutually
                        exclusive to -x)
--ignore-field-prefixes [IGNORE_FIELD_PREFIXES [IGNORE_FIELD_PREFIXES ...]]
                        list of fields (in whois data) to ignore when
                        extracting and inserting into ElasticSearch
-e EXTENSION, --extension EXTENSION
                        When scanning for CSV files only parse files with
                        given extension (default: csv)
-v, --verbose         Be verbose
-s, --stats           Print out Stats after running
-r, --redo            Attempt to re-import a failed import or import more
                        data, uses stored metadata from previous run
--config-template-only
                        Configure the ElasticSearch template and then exit
--clear-interrupted-flag
                        Clear the interrupted flag, forcefully (NOT
                        RECOMMENDED)
-f INGEST_FILE, --file INGEST_FILE
                        Input CSV file
-d INGEST_DIRECTORY, --directory INGEST_DIRECTORY
                        Directory to recursively search for CSV files --
                        mutually exclusive to '-f' option
-D INGEST_DAY, --ingest-day INGEST_DAY
                        Day to use for metadata, in the format 'YYYY-MM-dd',
                        e.g., '2021-01-01'. Defaults to todays date, use
                        'YYYY-MM-00' to indicate a quarterly ingest, e.g.,
                        2021-04-00
-o COMMENT, --comment COMMENT
                        Comment to store with metadata

Performance Options:
--pipelines PIPELINES
                        Number of pipelines (default: 2)
--shipper-threads SHIPPER_THREADS
                        How many threads per pipeline to spawn to send bulk ES
                        messages. The larger your cluster, the more you can
                        increase this, defaults to 1
--fetcher-threads FETCHER_THREADS
                        How many threads to spawn to search ES. The larger
                        your cluster, the more you can increase this, defaults
                        to 2
--bulk-ship-size BULK_SHIP_SIZE
                        Size of Bulk Elasticsearch Requests (default: 10)
--bulk-fetch-size BULK_FETCH_SIZE
                        Number of documents to search for at a time (default:
                        50), note that this will be multiplied by the number
                        of indices you have, e.g., if you have 10
                        pydat-<number> indices it results in a request for 500
                        documents

Elasticsearch Options:
-u [ES_URI [ES_URI ...]], --es-uri [ES_URI [ES_URI ...]]
                        Location(s) of ElasticSearch Server (e.g.,
                        foo.server.com:9200) Can take multiple endpoints
--es-user ES_USER     Username for ElasticSearch when Basic Auth is enabled
--es-pass ES_PASSWORD
                        Password for ElasticSearch when Basic Auth is enabled
--cacert ES_CA_CERT   Path to a CA Certicate bundle to enable https support
--es-disable-sniffing
                        Disable ES sniffing, useful when ssl
                        hostnameverification is not working properly
-p ES_INDEX_PREFIX, --index-prefix ES_INDEX_PREFIX
                        Index prefix to use in ElasticSearch (default: pydat)
--rollover-size ES_ROLLOVER_DOCS
                        Set the number of documents after which point a new
                        index should be created, defaults to 50 million, note
                        that this is fuzzy since the index count isn't
                        continuously updated, so should be reasonably below 2
                        billion per ES shard and should take your ES
                        configuration into consideration
--ask-pass            Prompt for ElasticSearch password

ध्यान दें कि डेटाबेस में डेटा का एक नया संस्करण जोड़ते समय, आपको परिवर्तनों को ट्रैक करने के लिए महत्वपूर्ण नहीं क्षेत्रों को बाहर करने के लिए -x फ़्लैग या जांच के अधीन विशिष्ट क्षेत्रों को शामिल करने के लिए -n फ़्लैग का उपयोग करना चाहिए। इससे संस्करणों के बीच संग्रहीत डेटा की मात्रा में काफी कमी आएगी। आप केवल -x या -n में से किसी एक का उपयोग कर सकते हैं, दोनों एक साथ नहीं, लेकिन आप चुन सकते हैं कि आपके दिए गए वातावरण के लिए कौन सा सबसे अच्छा है। उदाहरण के तौर पर, यदि आपको दैनिक अपडेट मिलते हैं, तो आप तय कर सकते हैं कि दैनिक अपडेट के लिए आपको केवल contactEmail में बदलाव की परवाह है, लेकिन हर तिमाही आप केवल उन क्षेत्रों को बाहर करना चाह सकते हैं जिन्हें आप महत्वपूर्ण नहीं मानते।

कॉन्फ़िग फ़ाइल

बार-बार फ़्लैग उपयोग पर समय बचाने के लिए, pydat-populator एक कॉन्फ़िगरेशन फ़ाइल लेता है। कृपया कॉन्फ़िगरेशन फ़ाइल बनाने के तरीके का उदाहरण देखने के लिए उदाहरण कॉन्फ़िग देखें।

pyDat चलाना

pyDat स्वयं कोई डेटा प्रदान नहीं करता है। आपको ElasticSearch डेटा स्टोर में अपना स्वयं का whois डेटा प्रदान करना होगा।

whoisxmlapi डेटा के साथ ElasticSearch को आबाद करना (Ubuntu 20.04 LTS)

  • ElasticSearch स्थापित करें। Docker का उपयोग करना सबसे आसान तंत्र है
  • नवीनतम ट्रिम किया गया (सबसे छोटा संभव) whoisxmlapi तिमाही DB डंप डाउनलोड करें।
  • csv फ़ाइलें निकालें।
  • जब पैकेज स्थापित हो, तो शामिल प्रोग्राम का उपयोग करें:
root@kitploit:~
pydat-populator -u localhost:9200 -f ~/whois/data/1.csv -v -s -x Audit_auditUpdatedDate,updatedDate,standardRegUpdatedDate,expiresDate,standardRegExpiresDate

स्थापना

PyDat 5 एक विभाजित बैकएंड/फ्रंटएंड एप्लिकेशन है जो REST API प्रदान करने के लिए Python Flask और एक इंटरैक्टिव वेब UI प्रदान करने के लिए ReactJS का उपयोग करता है। ऐप का उपयोग करने का सबसे आसान तरीका एक डॉकर इमेज बनाना है।

root@kitploit:~
cd pydat/
docker build -t mitrecnd/pydat:5

बनाई गई इमेज फ्रंटएंड घटकों को संकलित और बैकएंड में स्थापित करेगी, जिससे पूर्ण ऐप की तैनाती संभव होगी।

ऐप को तब एक तैनाती कॉन्फ़िगरेशन फ़ाइल बनाकर और docker-compose का उपयोग करके तैनात किया जा सकता है:

root@kitploit:~
version: '3'
root@kitploit:~
services:
    pydat:
        image: mitrecnd/pydat:5
        volumes:
            - "./config.py:/opt/pydat/config.py:ro"
        ports:
            - 127.0.0.1:8888:8888

config_example.py फ़ाइल को config.py के रूप में docker-compose.yml फ़ाइल के समान निर्देशिका में कॉपी करके एक कॉन्फ़िग फ़ाइल उत्पन्न करें।

Python बैकएंड को pip का उपयोग करके भी स्थापित किया जा सकता है। यह उपयोगी है यदि आप डेटा जनसंख्या क्षमता को मूल रूप से चलाना चाहते हैं। ध्यान दें कि इसमें कोई फ्रंटएंड घटक शामिल नहीं हैं क्योंकि वे पूर्व-संकलित नहीं आते हैं। यदि आप मैन्युअल रूप से फ्रंटएंड को संकलित और स्थापित करना चाहते हैं तो dockerfile देखें।

root@kitploit:~
cd pydat/backend/
pip install ./

पैकेज स्थापित करने पर आपको ऊपर संदर्भित pydat-populator प्रोग्राम तक पहुंच मिल जाएगी।

pyDat API

PyDat 5 एक अद्यतन REST API का परिचय देता है लेकिन Pydat 4 से लौटाए जाने वाले आउटपुट का अनुमान लगाने के लिए API एंडपॉइंट का एक v1 सेट बनाए रखता है। pyDat 4 और 5 के बीच कुछ संरचनात्मक परिवर्तनों के कारण, आउटपुट बिल्कुल समान नहीं होगा।

Pydat v1 एंडपॉइंट

निम्नलिखित एंडपॉइंट उजागर हैं:

root@kitploit:~
api/v1/metadata/
root@kitploit:~
api/v1/metadata/<version>/

मेटाडेटा एंडपॉइंट डेटाबेस में डेटा के लिए उपलब्ध मेटाडेटा लौटाता है। एक संस्करण निर्दिष्ट करने पर उस विशिष्ट संस्करण के लिए मेटाडेटा लौटाया जाएगा।

root@kitploit:~
api/v1/domain/<domainName>/
root@kitploit:~
api/v1/domain/<domainName>/latest/
api/v1/domain/<domainName>/<version>/
api/v1/domain/<domainName>/<version1>/<version2>/
api/v1/domain/<domainName>/diff/<version1>/<version2>/

डोमेन एंडपॉइंट आपको किसी विशिष्ट डोमेन नाम के बारे में जानकारी प्राप्त करने की अनुमति देता है। डिफ़ॉल्ट रूप से, यह डेटाबेस में पाए जाने वाले डोमेन के किसी भी संस्करण के लिए जानकारी लौटाएगा। आप डोमेन जानकारी के विशिष्ट संस्करण प्राप्त करने या नवीनतम प्रविष्टि प्राप्त करने के लिए अधिक जानकारी निर्दिष्ट कर सकते हैं। आप यह देखने के लिए कि क्या बदला है, डोमेन के दो संस्करणों के बीच अंतर भी प्राप्त कर सकते हैं।

root@kitploit:~
api/v1/domains/<searchKey>/<searchValue>/
root@kitploit:~
api/v1/domains/<searchKey>/<searchValue>/latest/
api/v1/domains/<searchKey>/<searchValue>/<version>/
api/v1/domains/<searchKey>/<searchValue>/<version1>/<version2>/

डोमेन एंडपॉइंट आपको एक निर्दिष्ट कुंजी के आधार पर डोमेन खोजने की अनुमति देता है। वर्तमान में निम्नलिखित कुंजियाँ समर्थित हैं:

root@kitploit:~
domainName
root@kitploit:~
registrant_name
contactEmail
registrant_telephone

डोमेन एंडपॉइंट के समान, आप निर्दिष्ट कर सकते हैं कि आप डेटा के किन संस्करणों की तलाश कर रहे हैं।

उदाहरण क्वेरीज़:

root@kitploit:~
curl http://pydat.myorg.domain/ajax/domain/google.com/latest/
root@kitploit:~
curl http://pydat.myorg.domain/ajax/domains/domainName/google.com/

उन्नत सिंटैक्स एंडपॉइंट

root@kitploit:~
api/v1/query

यह एंडपॉइंट GET अनुरोध के माध्यम से 4 पैरामीटर लेता है:

root@kitploit:~
query - ES के साथ खोज करने के लिए क्वेरी
size - वापस करने के लिए तत्वों की संख्या (उर्फ पृष्ठ आकार)
page - वापस करने के लिए पृष्ठ, इसे size के साथ जोड़कर आप परिणामों को खंडों में प्राप्त कर सकते हैं
unique - प्रति domainName नवीनतम प्रविष्टि लौटाने का प्रयास करता है

unique पैरामीटर पर नोट: यदि आप unique पैरामीटर का उपयोग कर रहे हैं, तो ध्यान दें कि परिणामों की पेजिंग अक्षम है, लेकिन size पैरामीटर का उपयोग अभी भी लौटाए गए परिणामों की संख्या को नियंत्रित करने के लिए किया जाएगा।

PyDat v2 एंडपॉइंट

निम्नलिखित एंडपॉइंट उजागर हैं:

root@kitploit:~
api/v2/metadata
root@kitploit:~
api/v2/metadata/<version>

ये एंडपॉइंट अपने v1 समकक्षों के समान हैं लेकिन उनका प्रतिक्रिया प्रारूप भिन्न है।

root@kitploit:~
api/v2/resolve/<domain>

यह एक नया एंडपॉइंट है जो आपको डोमेन नाम को ip पतों पर हल करने की अनुमति देता है। ध्यान दें कि इस क्षमता को बैकएंड द्वारा अक्षम किया जा सकता है। कृपया इसे कॉल करने से पहले यह सुनिश्चित करने के लिए /settings एंडपॉइंट पर कॉल करें कि यह क्षमता सक्षम है।

root@kitploit:~
api/v2/domains/diff [POST]

यह एंडपॉइंट आपको यह देखने के लिए डोमेन के दो संस्करणों के बीच अंतर प्राप्त करने की अनुमति देता है कि क्या बदला है। यह निम्नलिखित रूप में एक JSON अनुरोध की अपेक्षा करता है:

root@kitploit:~
{
root@kitploit:~
    domain: "mydomain.example",
    version1: 1,
    version2: 2
}
root@kitploit:~
api/v2/domain [POST]

यह एंडपॉइंट दिए गए डोमेन नाम के लिए जानकारी लौटाता है और निम्नलिखित रूप में एक JSON अनुरोध की अपेक्षा करता है:

root@kitploit:~
{
root@kitploit:~
    value: "mydomain.example",
    version: 1, # Optional
    chunk_size: 50, # Optional
    offset: 0 # Optional
}
root@kitploit:~
api/v2/query [POST]

यह एंडपॉइंट 'उन्नत' क्वेरी सिंटैक्स क्षमता का समर्थन करता है। यह निम्नलिखित रूप में एक JSON अनुरोध की अपेक्षा करता है:

root@kitploit:~
{
root@kitploit:~
    query: "myquery",
    chunk_size: 50, # Optional
    offset: 0, #Optional
    unique: false, # Optional
    sort_keys: [ # Optional
        "domainName",
        "registrant_name",
        "contactEmail",
        "standardRegCreatedDate",
        "registrant_telephone",
        "dataVersion",
        "_score",
    ]
}
root@kitploit:~
api/v2/info

यह एंडपॉइंट Elastic क्लस्टर के बारे में स्वास्थ्य जानकारी प्रदान करता है।

root@kitploit:~
api/v2/settings

इस एंडपॉइंट का उपयोग मुख्य रूप से फ्रंटएंड द्वारा गतिशील रूप से यह निर्धारित करने के लिए किया जाता है कि बैकएंड एप्लिकेशन द्वारा कौन सी क्षमताएं सक्षम हैं।

PyDat 4 से 5 में माइग्रेशन

दुर्भाग्य से Elastic में डेटा संग्रहीत करने के तरीके में संरचनात्मक परिवर्तनों के कारण, pyDat 5 pydat 4 के साथ पिछड़ा संगत नहीं है। इसका मतलब है कि pyDat 5 के साथ उपयोग करने के लिए डेटा को ElasticSearch क्लस्टर में नए सिरे से इनजेस्ट करने की आवश्यकता होगी।

कानूनी बातें

pyDat कॉपीराइट The MITRE Corporation 2021 है।

PHP कार्यान्वयन कॉपीराइट Chris Clark, 2013 है। उनसे [email protected] पर संपर्क करें।

PHP और Python संस्करण एक ही लाइसेंस के तहत लाइसेंस प्राप्त हैं।

pyDat मुफ़्त सॉफ़्टवेयर है: आप इसे Free Software Foundation द्वारा प्रकाशित GNU General Public License के नियमों के तहत पुनर्वितरित और/या संशोधित कर सकते हैं, या तो लाइसेंस का संस्करण 3, या (आपकी पसंद पर) कोई बाद का संस्करण।

pyDat इस उम्मीद में वितरित किया जाता है कि यह उपयोगी होगा, लेकिन बिना किसी वारंटी के; व्यापारिकता या किसी विशेष उद्देश्य के लिए उपयुक्तता की निहित वारंटी के बिना भी। अधिक विवरण के लिए GNU General Public License देखें।

आपको pyDat के साथ GNU General Public License की एक प्रति प्राप्त हुई होगी। यदि नहीं, तो http://www.gnu.org/licenses/ देखें।

सार्वजनिक रिलीज़ के लिए अनुमोदित; असीमित वितरण 14-1633

टूल डाउनलोड करें