
Python क्लाइंट dnsdumpster.com के लिए जो DNS रिकॉर्ड, सबडोमेन और नेटवर्क मैप्स प्राप्त करता है, टोह लेने और सुरक्षा अनुसंधान के लिए।
⚠️ महत्वपूर्ण अस्वीकरण: यह dnsdumpster.com के लिए एक अनाधिकारिक API रैपर है जो सार्वजनिक वेबसाइट को स्क्रैप करता है।
DNSDumpster.com व्यावसायिक और भारी उपयोग के लिए एक आधिकारिक API योजना प्रदान करता है। यदि आपको विश्वसनीय, उत्पादन-ग्रेड एक्सेस की आवश्यकता है, तो कृपया उनके आधिकारिक API पर विचार करें: https://dnsdumpster.com/
इस अनाधिकारिक रैपर का उपयोग जिम्मेदारी से और DNSDumpster की सेवा की शर्तों के अनुसार किया जाना चाहिए।
dnsdumpster.com के साथ इंटरैक्ट करने के लिए एक Python क्लाइंट लाइब्रेरी जो DNS रिकॉर्ड और सबडोमेन जानकारी प्राप्त करती है। यह टूल सुरक्षा शोधकर्ताओं, पैठ परीक्षकों और नेटवर्क प्रशासकों के लिए टोही उद्देश्यों के लिए उपयोगी है।
pip install dnsdumpster
pip install git+https://github.com/PaulSec/API-dnsdumpster.com.git
# रिपॉजिटरी क्लोन करें
git clone https://github.com/PaulSec/API-dnsdumpster.com
cd API-dnsdumpster.com
# विकास मोड में स्थापित करें
pip install -e .
# विकास निर्भरताएँ स्थापित करें
pip install -r requirements-dev.txt
from dnsdumpster.DNSDumpsterAPI import DNSDumpsterAPI
# API को आरंभ करें
api = DNSDumpsterAPI(verbose=True)
# डोमेन के लिए खोजें
results = api.search('example.com')
# परिणामों तक पहुँचें
print(f"Domain: {results['domain']}")
print(f"DNS Records: {results['dns_records']['dns']}")
print(f"MX Records: {results['dns_records']['mx']}")
print(f"NS Records: {results['dns_records']['ns']}")
print(f"TXT Records: {results['dns_records']['txt']}")
from dnsdumpster.DNSDumpsterAPI import DNSDumpsterAPI
api = DNSDumpsterAPI()
results = api.search('microsoft.com')
# सभी A रिकॉर्ड (सबडोमेन) प्रिंट करें
for record in results['dns_records']['dns']:
print(f"{record['host']} - {record['ip']} - {record['country']}")
import base64
results = api.search('example.com')
if results['image_data']:
with open('network_map.png', 'wb') as f:
f.write(base64.b64decode(results['image_data']))
print(f"Network map saved! URL: {results['image_url']}")
import base64
results = api.search('example.com')
if results['xls_data']:
with open('results.xlsx', 'wb') as f:
f.write(base64.b64decode(results['xls_data']))
print("Excel file saved!")
import requests
from dnsdumpster.DNSDumpsterAPI import DNSDumpsterAPI
# प्रॉक्सी के साथ कस्टम सत्र बनाएँ
session = requests.Session()
session.proxies = {
'http': 'http://proxy.example.com:8080',
'https': 'https://proxy.example.com:8080',
}
api = DNSDumpsterAPI(session=session)
results = api.search('example.com')
from dnsdumpster.DNSDumpsterAPI import (
DNSDumpsterAPI,
DNSDumpsterAPIError,
DNSDumpsterRequestError,
DNSDumpsterParseError
)
api = DNSDumpsterAPI()
try:
results = api.search('example.com')
except DNSDumpsterRequestError as e:
print(f"Network error: {e}")
except DNSDumpsterParseError as e:
print(f"Parsing error: {e}")
except DNSDumpsterAPIError as e:
print(f"API error: {e}")
search() विधि निम्नलिखित संरचना के साथ एक शब्दकोश लौटाती है:
{
'domain': 'example.com',
'dns_records': {
'dns': [ # A रिकॉर्ड (सबडोमेन)
{
'host': 'subdomain.example.com',
'ip': '192.0.2.1',
'reverse_dns': 'reverse.dns.com',
'asn': 'ASN:12345',
'asn_name': 'Provider Name',
'country': 'United States',
'subnet': '192.0.2.0/24',
'open_services': '80, 443',
# पिछड़ा संगतता कुंजियाँ:
'domain': 'subdomain.example.com',
'as': 'ASN:12345',
'provider': 'Provider Name'
}
],
'mx': [ # MX रिकॉर्ड
{
'priority': '10',
'server': 'mail.example.com',
'ip': '198.51.100.1',
'reverse_dns': 'mail.reverse.com',
'asn': 'ASN:23456',
'asn_name': 'Mail Provider',
'country': 'Germany',
'subnet': '198.51.100.0/24'
}
],
'ns': [ # NS रिकॉर्ड
{
'nameserver': 'ns1.example.com',
'ip': '203.0.113.1',
'reverse_dns': 'ns1.reverse.com',
'asn': 'ASN:34567',
'asn_name': 'DNS Provider',
'country': 'United Kingdom',
'subnet': '203.0.113.0/24'
}
],
'txt': [ # TXT रिकॉर्ड
'v=spf1 include:_spf.example.com ~all',
'google-site-verification=abcdef123456'
],
'host': [] # NS रिकॉर्ड के लिए उपनाम (पिछड़ा संगतता)
},
'image_data': b'base64_encoded_image_bytes', # या None
'image_url': 'https://dnsdumpster.com/static/map/example.com.png',
'xls_data': b'base64_encoded_excel_bytes', # या None
'xls_url': 'https://dnsdumpster.com/static/xlsx/example-uuid.xlsx'
}
# रिपॉजिटरी क्लोन करें
git clone https://github.com/PaulSec/API-dnsdumpster.com
cd API-dnsdumpster.com
# वर्चुअल वातावरण बनाएँ
python -m venv venv
source venv/bin/activate # Windows पर: venv\Scripts\activate
# निर्भरताएँ स्थापित करें
pip install -r requirements.txt
pip install -r requirements-dev.txt
# प्री-कमिट हुक स्थापित करें (वैकल्पिक)
pip install pre-commit
pre-commit install
# सभी परीक्षण चलाएँ
pytest
# कवरेज के साथ चलाएँ
pytest --cov=dnsdumpster --cov-report=html
# विशिष्ट परीक्षण फ़ाइल चलाएँ
pytest tests/test_parsing.py
# वर्बोज़ आउटपुट के साथ चलाएँ
pytest -v
# विशिष्ट परीक्षण चलाएँ
pytest tests/test_parsing.py::TestRetrieveResults::test_retrieve_results_basic
# black के साथ कोड फ़ॉर्मेट करें
black dnsdumpster/ tests/
# आयात क्रमबद्ध करें
isort dnsdumpster/ tests/
# flake8 के साथ लिंट करें
flake8 dnsdumpster/ tests/
# mypy के साथ टाइप जाँच
mypy dnsdumpster/
# सभी गुणवत्ता जाँच चलाएँ
black dnsdumpster/ tests/ && isort dnsdumpster/ tests/ && flake8 dnsdumpster/ tests/ && mypy dnsdumpster/
API-dnsdumpster.com/
├── dnsdumpster/ # मुख्य पैकेज
│ ├── __init__.py
│ ├── DNSDumpsterAPI.py # मुख्य API क्लास
│ ├── API_example.py # उपयोग उदाहरण
│ └── requirements.txt
├── tests/ # परीक्षण सूट
│ ├── __init__.py
│ ├── conftest.py # Pytest फिक्स्चर
│ ├── test_parsing.py # यूनिट परीक्षण
│ └── test_integration.py # एकीकरण परीक्षण
├── .github/
│ └── workflows/ # CI/CD वर्कफ़्लो
│ ├── tests.yml
│ └── publish.yml
├── requirements.txt # उत्पादन निर्भरताएँ
├── requirements-dev.txt # विकास निर्भरताएँ
├── setup.py # पैकेज कॉन्फ़िगरेशन
├── README.md
└── LICENSE
हम योगदान का स्वागत करते हैं! यहाँ बताया गया है कि आप कैसे मदद कर सकते हैं:
git checkout -b feature/amazing-feature)pytest)black, flake8, mypy)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)नेटवर्क कॉल के बिना व्यक्तिगत पार्सिंग विधियों का परीक्षण करें:
pytest tests/test_parsing.py -v
मॉक किए गए HTTP प्रतिक्रियाओं के साथ पूर्ण API वर्कफ़्लो का परीक्षण करें:
pytest tests/test_integration.py -v
pytest --cov=dnsdumpster --cov-report=term-missing
परियोजना GitHub Actions का उपयोग करती है:
यह परियोजना MIT लाइसेंस के तहत लाइसेंस प्राप्त है - विवरण के लिए LICENSE फ़ाइल देखें।
यह एक अनाधिकारिक टूल है और dnsdumpster.com से संबद्ध या समर्थित नहीं है। लक्ष्य वेबसाइट की सेवा की शर्तों और robots.txt के अनुसार जिम्मेदारी से उपयोग करें। लेखक इस टूल के दुरुपयोग के लिए जिम्मेदार नहीं हैं।
पूर्ण संस्करण इतिहास के लिए CHANGELOG.md देखें।