Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
API-dnsdumpster.com — Cliente de Python para dnsdumpster.com que permite recuperar registros DNS, subdominios y mapas de red para reconocimiento e investigación de seguridad. | Kitploit
Herramientas/GitHubGitHub/paulsec/api-dnsdumpster.com
OSINT (Inteligencia de Fuentes Abiertas)ReconocimientoRecopilación de InformaciónSeguridad de RedesPruebas de PenetraciónEnumeración de SubdominiosAnálisis de DNS
GitHubpaulsec/api-dnsdumpster.com

API-dnsdumpster.com

Cliente de Python para dnsdumpster.com que permite recuperar registros DNS, subdominios y mapas de red para reconocimiento e investigación de seguridad.

Ver Repositorio
283867hace 5 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

API de DNSDumpster (NO OFICIAL)

Tests PyPI version Python Versions License

⚠️ AVISO IMPORTANTE: Este es un envoltorio de API NO OFICIAL para dnsdumpster.com que extrae datos del sitio web público.

DNSDumpster.com ofrece un plan de API oficial para uso comercial y de alto volumen. Si necesitas acceso fiable y de nivel de producción, considera su API oficial: https://dnsdumpster.com/

Este envoltorio no oficial debe utilizarse de forma responsable y de acuerdo con los términos de servicio de DNSDumpster.

Descripción general

Una biblioteca cliente de Python para interactuar con dnsdumpster.com y recuperar registros DNS e información de subdominios. Esta herramienta es útil para investigadores de seguridad, testers de penetración y administradores de red con fines de reconocimiento.

Características

  • 🔍 Recupera registros A, MX, NS y TXT de un dominio
  • 🌐 Extrae información de subdominios
  • 🗺️ Descarga imágenes de mapas de red
  • 📊 Exporta resultados a formato Excel
  • 🎯 API limpia con anotaciones de tipo
  • ✅ Cobertura completa de pruebas
  • 📝 Compatibilidad total hacia atrás

Instalación

Desde PyPI (Recomendado)

root@kitploit:~
pip install dnsdumpster

Desde GitHub

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

Desde el código fuente (Desarrollo)

root@kitploit:~
# Clonar el repositorio
git clone https://github.com/PaulSec/API-dnsdumpster.com
cd API-dnsdumpster.com

# Instalar en modo desarrollo
pip install -e .

# Instalar dependencias de desarrollo
pip install -r requirements-dev.txt

Inicio rápido

root@kitploit:~
from dnsdumpster.DNSDumpsterAPI import DNSDumpsterAPI

# Inicializar la API
api = DNSDumpsterAPI(verbose=True)

# Buscar un dominio
results = api.search('example.com')

# Acceder a los resultados
print(f"Dominio: {results['domain']}")
print(f"Registros DNS: {results['dns_records']['dns']}")
print(f"Registros MX: {results['dns_records']['mx']}")
print(f"Registros NS: {results['dns_records']['ns']}")
print(f"Registros TXT: {results['dns_records']['txt']}")

Ejemplos de uso

Consulta básica de dominio

root@kitploit:~
from dnsdumpster.DNSDumpsterAPI import DNSDumpsterAPI

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

# Imprimir todos los registros A (subdominios)
for record in results['dns_records']['dns']:
    print(f"{record['host']} - {record['ip']} - {record['country']}")

Guardar imagen del mapa de red

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"¡Mapa de red guardado! URL: {results['image_url']}")

Exportar a 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("¡Archivo Excel guardado!")

Usar sesión personalizada

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

# Crear sesión personalizada con 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')

Manejo de errores

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

api = DNSDumpsterAPI()

try:
    results = api.search('example.com')
except DNSDumpsterRequestError as e:
    print(f"Error de red: {e}")
except DNSDumpsterParseError as e:
    print(f"Error de análisis: {e}")
except DNSDumpsterAPIError as e:
    print(f"Error de API: {e}")

Estructura de la respuesta de la API

El método search() devuelve un diccionario con la siguiente estructura:

root@kitploit:~
{
    'domain': 'example.com',
    'dns_records': {
        'dns': [  # Registros A (subdominios)
            {
                'host': 'subdomain.example.com',
                'ip': '192.0.2.1',
                'reverse_dns': 'reverse.dns.com',
                'asn': 'ASN:12345',
                'asn_name': 'Nombre del proveedor',
                'country': 'Estados Unidos',
                'subnet': '192.0.2.0/24',
                'open_services': '80, 443',
                # Claves de compatibilidad hacia atrás:
                'domain': 'subdomain.example.com',
                'as': 'ASN:12345',
                'provider': 'Nombre del proveedor'
            }
        ],
        'mx': [  # Registros MX
            {
                'priority': '10',
                'server': 'mail.example.com',
                'ip': '198.51.100.1',
                'reverse_dns': 'mail.reverse.com',
                'asn': 'ASN:23456',
                'asn_name': 'Proveedor de correo',
                'country': 'Alemania',
                'subnet': '198.51.100.0/24'
            }
        ],
        'ns': [  # Registros NS
            {
                'nameserver': 'ns1.example.com',
                'ip': '203.0.113.1',
                'reverse_dns': 'ns1.reverse.com',
                'asn': 'ASN:34567',
                'asn_name': 'Proveedor de DNS',
                'country': 'Reino Unido',
                'subnet': '203.0.113.0/24'
            }
        ],
        'txt': [  # Registros TXT
            'v=spf1 include:_spf.example.com ~all',
            'google-site-verification=abcdef123456'
        ],
        'host': []  # Alias para registros NS (compatibilidad hacia atrás)
    },
    'image_data': b'base64_encoded_image_bytes',  # o None
    'image_url': 'https://dnsdumpster.com/static/map/example.com.png',
    'xls_data': b'base64_encoded_excel_bytes',  # o None
    'xls_url': 'https://dnsdumpster.com/static/xlsx/example-uuid.xlsx'
}

Desarrollo

Configurar el entorno de desarrollo

root@kitploit:~
# Clonar el repositorio
git clone https://github.com/PaulSec/API-dnsdumpster.com
cd API-dnsdumpster.com

# Crear entorno virtual
python -m venv venv
source venv/bin/activate  # En Windows: venv\Scripts\activate

# Instalar dependencias
pip install -r requirements.txt
pip install -r requirements-dev.txt

# Instalar hooks de pre-commit (opcional)
pip install pre-commit
pre-commit install

Ejecutar pruebas

root@kitploit:~
# Ejecutar todas las pruebas
pytest

# Ejecutar con cobertura
pytest --cov=dnsdumpster --cov-report=html

# Ejecutar archivo de prueba específico
pytest tests/test_parsing.py

# Ejecutar con salida detallada
pytest -v

# Ejecutar prueba específica
pytest tests/test_parsing.py::TestRetrieveResults::test_retrieve_results_basic

Calidad del código

root@kitploit:~
# Formatear código con black
black dnsdumpster/ tests/

# Ordenar importaciones
isort dnsdumpster/ tests/

# Lint con flake8
flake8 dnsdumpster/ tests/

# Verificación de tipos con mypy
mypy dnsdumpster/

# Ejecutar todas las verificaciones de calidad
black dnsdumpster/ tests/ && isort dnsdumpster/ tests/ && flake8 dnsdumpster/ tests/ && mypy dnsdumpster/

Estructura del proyecto

root@kitploit:~
API-dnsdumpster.com/
├── dnsdumpster/              # Paquete principal
│   ├── __init__.py
│   ├── DNSDumpsterAPI.py    # Clase principal de la API
│   ├── API_example.py       # Ejemplo de uso
│   └── requirements.txt
├── tests/                    # Suite de pruebas
│   ├── __init__.py
│   ├── conftest.py          # Fixtures de pytest
│   ├── test_parsing.py      # Pruebas unitarias
│   └── test_integration.py  # Pruebas de integración
├── .github/
│   └── workflows/           # Flujos de trabajo CI/CD
│       ├── tests.yml
│       └── publish.yml
├── requirements.txt         # Dependencias de producción
├── requirements-dev.txt     # Dependencias de desarrollo
├── setup.py                 # Configuración del paquete
├── README.md
└── LICENSE

Contribuciones

¡Agradecemos las contribuciones! Así es como puedes ayudar:

Reportar problemas

  • Usa GitHub Issues para reportar errores
  • Incluye la versión de Python, el sistema operativo y los mensajes de error
  • Proporciona ejemplos mínimos reproducibles

Enviar pull requests

  1. Haz un fork del repositorio
  2. Crea una rama de funcionalidad (git checkout -b feature/caracteristica-increible)
  3. Realiza tus cambios
  4. Añade pruebas para la nueva funcionalidad
  5. Asegúrate de que todas las pruebas pasen (pytest)
  6. Ejecuta las verificaciones de calidad del código (black, flake8, mypy)
  7. Confirma tus cambios (git commit -m 'Añadir característica increíble')
  8. Sube a la rama (git push origin feature/caracteristica-increible)
  9. Abre un Pull Request

Directrices de codificación

  • Sigue la guía de estilo PEP 8
  • Añade anotaciones de tipo a todas las funciones
  • Escribe docstrings para los métodos públicos
  • Mantén la compatibilidad hacia atrás
  • Mantén la cobertura de pruebas por encima del 80%
  • Actualiza la documentación para nuevas funcionalidades

Instrucciones de prueba

Pruebas unitarias

Prueba métodos de análisis individuales sin llamadas de red:

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

Pruebas de integración

Prueba el flujo completo de la API con respuestas HTTP simuladas:

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

Informe de cobertura

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

CI/CD

El proyecto utiliza GitHub Actions para:

  • Pruebas: Se ejecuta en cada push y PR en Python 3.8, 3.9, 3.10, 3.11, 3.12
  • Lint: Verificaciones de calidad del código con flake8 y mypy
  • Publicación: Despliegue automático en PyPI en releases etiquetadas

Licencia

Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENSE para más detalles.

Aviso legal

Esta es una herramienta no oficial y no está afiliada ni respaldada por dnsdumpster.com. Úsala de forma responsable y de acuerdo con los términos de servicio y robots.txt del sitio web objetivo. Los autores no son responsables del mal uso de esta herramienta.

Soporte

  • 📧 Para errores y solicitudes de funcionalidades, usa GitHub Issues
  • 💬 Para preguntas generales, inicia una Discusión en GitHub
  • 🐦 Sigue al autor en Twitter: @PaulWebSec

Registro de cambios

Versión 0.10 (Actual)

  • Refactorización completa del código con anotaciones de tipo
  • Mejor manejo de errores con excepciones personalizadas
  • Suite de pruebas completa con pytest
  • Mejor documentación y ejemplos
  • CI/CD con GitHub Actions
  • Compatibilidad total hacia atrás mantenida

Versiones anteriores

Consulta CHANGELOG.md para el historial completo de versiones.

Agradecimientos

  • Autor original: PaulSec
  • Contribuyentes: Consulta CONTRIBUTORS.md
  • DNSDumpster.com por proporcionar el servicio
Descargar herramienta