Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/paulsec/api-dnsdumpster.com
OSINT (Renseignement de Sources Ouvertes)ReconnaissanceCollecte d'InformationsSécurité RéseauTests d'IntrusionÉnumération de Sous-domainesAnalyse DNS
GitHubpaulsec/api-dnsdumpster.com

API-dnsdumpster.com

Client Python pour dnsdumpster.com permettant de récupérer les enregistrements DNS, les sous-domaines et les cartes réseau pour la reconnaissance et la recherche en sécurité.

Voir le dépôt
283867il y a 5 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

API DNSDumpster (NON OFFICIEL)

Tests PyPI version Python Versions License

⚠️ AVERTISSEMENT IMPORTANT : Ceci est un wrapper API NON OFFICIEL pour dnsdumpster.com qui extrait les données du site web public.

DNSDumpster.com propose un plan API officiel pour une utilisation commerciale et intensive. Si vous avez besoin d'un accès fiable et de qualité professionnelle, veuillez envisager leur API officielle : https://dnsdumpster.com/

Ce wrapper non officiel doit être utilisé de manière responsable et conformément aux conditions d'utilisation de DNSDumpster.

Présentation

Une bibliothèque cliente Python pour interagir avec dnsdumpster.com afin de récupérer les enregistrements DNS et les informations sur les sous-domaines. Cet outil est utile pour les chercheurs en sécurité, les testeurs d'intrusion et les administrateurs réseau à des fins de reconnaissance.

Fonctionnalités

  • 🔍 Récupérer les enregistrements A, MX, NS et TXT pour un domaine
  • 🌐 Extraire les informations sur les sous-domaines
  • 🗺️ Télécharger les images de cartographie réseau
  • 📊 Exporter les résultats au format Excel
  • 🎯 API propre avec annotations de type
  • ✅ Couverture de tests complète
  • 📝 Rétrocompatibilité totale

Installation

Depuis PyPI (Recommandé)

root@kitploit:~
pip install dnsdumpster

Depuis GitHub

root@kitploit:~
pip install git+https://github.com/PaulSec/API-dnsdumpster.com.git

Depuis les sources (Développement)

root@kitploit:~
# Cloner le dépôt
git clone https://github.com/PaulSec/API-dnsdumpster.com
cd API-dnsdumpster.com

# Installer en mode développement
pip install -e .

# Installer les dépendances de développement
pip install -r requirements-dev.txt

Démarrage rapide

root@kitploit:~
from dnsdumpster.DNSDumpsterAPI import DNSDumpsterAPI

# Initialiser l'API
api = DNSDumpsterAPI(verbose=True)

# Rechercher un domaine
results = api.search('example.com')

# Accéder aux résultats
print(f"Domaine : {results['domain']}")
print(f"Enregistrements DNS : {results['dns_records']['dns']}")
print(f"Enregistrements MX : {results['dns_records']['mx']}")
print(f"Enregistrements NS : {results['dns_records']['ns']}")
print(f"Enregistrements TXT : {results['dns_records']['txt']}")

Exemples d'utilisation

Recherche de domaine de base

root@kitploit:~
from dnsdumpster.DNSDumpsterAPI import DNSDumpsterAPI

api = DNSDumpsterAPI()
results = api.search('microsoft.com')

# Afficher tous les enregistrements A (sous-domaines)
for record in results['dns_records']['dns']:
    print(f"{record['host']} - {record['ip']} - {record['country']}")

Enregistrer l'image de la carte réseau

root@kitploit:~
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"Carte réseau enregistrée ! URL : {results['image_url']}")

Exporter vers Excel

root@kitploit:~
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("Fichier Excel enregistré !")

Utilisation d'une session personnalisée

root@kitploit:~
import requests
from dnsdumpster.DNSDumpsterAPI import DNSDumpsterAPI

# Créer une session personnalisée avec proxy
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')

Gestion des erreurs

root@kitploit:~
from dnsdumpster.DNSDumpsterAPI import (
    DNSDumpsterAPI,
    DNSDumpsterAPIError,
    DNSDumpsterRequestError,
    DNSDumpsterParseError
)

api = DNSDumpsterAPI()

try:
    results = api.search('example.com')
except DNSDumpsterRequestError as e:
    print(f"Erreur réseau : {e}")
except DNSDumpsterParseError as e:
    print(f"Erreur d'analyse : {e}")
except DNSDumpsterAPIError as e:
    print(f"Erreur API : {e}")

Structure de la réponse API

La méthode search() renvoie un dictionnaire avec la structure suivante :

root@kitploit:~
{
    'domain': 'example.com',
    'dns_records': {
        'dns': [  # Enregistrements A (sous-domaines)
            {
                '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',
                # Clés de rétrocompatibilité :
                'domain': 'subdomain.example.com',
                'as': 'ASN:12345',
                'provider': 'Provider Name'
            }
        ],
        'mx': [  # Enregistrements 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': [  # Enregistrements 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': [  # Enregistrements TXT
            'v=spf1 include:_spf.example.com ~all',
            'google-site-verification=abcdef123456'
        ],
        'host': []  # Alias pour les enregistrements NS (rétrocompatibilité)
    },
    'image_data': b'base64_encoded_image_bytes',  # ou None
    'image_url': 'https://dnsdumpster.com/static/map/example.com.png',
    'xls_data': b'base64_encoded_excel_bytes',  # ou None
    'xls_url': 'https://dnsdumpster.com/static/xlsx/example-uuid.xlsx'
}

Développement

Configuration de l'environnement de développement

root@kitploit:~
# Cloner le dépôt
git clone https://github.com/PaulSec/API-dnsdumpster.com
cd API-dnsdumpster.com

# Créer un environnement virtuel
python -m venv venv
source venv/bin/activate  # Sur Windows : venv\Scripts\activate

# Installer les dépendances
pip install -r requirements.txt
pip install -r requirements-dev.txt

# Installer les hooks pre-commit (optionnel)
pip install pre-commit
pre-commit install

Exécution des tests

root@kitploit:~
# Exécuter tous les tests
pytest

# Exécuter avec couverture
pytest --cov=dnsdumpster --cov-report=html

# Exécuter un fichier de test spécifique
pytest tests/test_parsing.py

# Exécuter avec sortie détaillée
pytest -v

# Exécuter un test spécifique
pytest tests/test_parsing.py::TestRetrieveResults::test_retrieve_results_basic

Qualité du code

root@kitploit:~
# Formater le code avec black
black dnsdumpster/ tests/

# Trier les imports
isort dnsdumpster/ tests/

# Lint avec flake8
flake8 dnsdumpster/ tests/

# Vérification des types avec mypy
mypy dnsdumpster/

# Exécuter toutes les vérifications de qualité
black dnsdumpster/ tests/ && isort dnsdumpster/ tests/ && flake8 dnsdumpster/ tests/ && mypy dnsdumpster/

Structure du projet

root@kitploit:~
API-dnsdumpster.com/
├── dnsdumpster/              # Paquet principal
│   ├── __init__.py
│   ├── DNSDumpsterAPI.py    # Classe API principale
│   ├── API_example.py       # Exemple d'utilisation
│   └── requirements.txt
├── tests/                    # Suite de tests
│   ├── __init__.py
│   ├── conftest.py          # Fixtures pytest
│   ├── test_parsing.py      # Tests unitaires
│   └── test_integration.py  # Tests d'intégration
├── .github/
│   └── workflows/           # Workflows CI/CD
│       ├── tests.yml
│       └── publish.yml
├── requirements.txt         # Dépendances de production
├── requirements-dev.txt     # Dépendances de développement
├── setup.py                 # Configuration du paquet
├── README.md
└── LICENSE

Contribution

Nous accueillons les contributions ! Voici comment vous pouvez aider :

Signaler des problèmes

  • Utilisez GitHub Issues pour signaler des bugs
  • Incluez la version de Python, le système d'exploitation et les messages d'erreur
  • Fournissez des exemples reproductibles minimaux

Soumettre des pull requests

  1. Forkez le dépôt
  2. Créez une branche de fonctionnalité (git checkout -b feature/amazing-feature)
  3. Apportez vos modifications
  4. Ajoutez des tests pour les nouvelles fonctionnalités
  5. Assurez-vous que tous les tests passent (pytest)
  6. Exécutez les vérifications de qualité du code (black, flake8, mypy)
  7. Committez vos modifications (git commit -m 'Add amazing feature')
  8. Poussez vers la branche (git push origin feature/amazing-feature)
  9. Ouvrez une pull request

Directives de codage

  • Suivez le guide de style PEP 8
  • Ajoutez des annotations de type à toutes les fonctions
  • Rédigez des docstrings pour les méthodes publiques
  • Maintenez la rétrocompatibilité
  • Gardez la couverture de tests au-dessus de 80 %
  • Mettez à jour la documentation pour les nouvelles fonctionnalités

Instructions de test

Tests unitaires

Testez les méthodes d'analyse individuelles sans appels réseau :

root@kitploit:~
pytest tests/test_parsing.py -v

Tests d'intégration

Testez le flux API complet avec des réponses HTTP simulées :

root@kitploit:~
pytest tests/test_integration.py -v

Rapport de couverture

root@kitploit:~
pytest --cov=dnsdumpster --cov-report=term-missing

CI/CD

Le projet utilise GitHub Actions pour :

  • Tests : Exécutés à chaque push et PR sur Python 3.8, 3.9, 3.10, 3.11, 3.12
  • Lint : Vérifications de qualité du code avec flake8 et mypy
  • Publication : Déploiement automatique sur PyPI lors des versions taguées

Licence

Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.

Avertissement

Cet outil est non officiel et n'est ni affilié ni approuvé par dnsdumpster.com. Utilisez-le de manière responsable et conformément aux conditions d'utilisation et au robots.txt du site cible. Les auteurs ne sont pas responsables d'une mauvaise utilisation de cet outil.

Support

  • 📧 Pour les bugs et demandes de fonctionnalités, utilisez GitHub Issues
  • 💬 Pour les questions générales, lancez une discussion GitHub
  • 🐦 Suivez l'auteur sur Twitter : @PaulWebSec

Journal des modifications

Version 0.10 (Actuelle)

  • Refactorisation complète du code avec annotations de type
  • Amélioration de la gestion des erreurs avec des exceptions personnalisées
  • Suite de tests complète avec pytest
  • Meilleure documentation et exemples
  • CI/CD avec GitHub Actions
  • Rétrocompatibilité totale maintenue

Versions précédentes

Voir CHANGELOG.md pour l'historique complet des versions.

Remerciements

  • Auteur original : PaulSec
  • Contributeurs : Voir CONTRIBUTORS.md
  • DNSDumpster.com pour la fourniture du service
Télécharger l’outil