• 26 Jun, 2025

Cómo crear tu propia herramienta WHOIS moderna con PHP, IPAPI y RDAP

Cómo crear tu propia herramienta WHOIS moderna con PHP, IPAPI y RDAP

Aprende a construir una herramienta web para consultar información de dominios como IP, ubicación geográfica, ISP, registrar y más, usando PHP moderno, Bootstrap, Animate.css, IPAPI y el protocolo RDAP. Incluye mapa interactivo, diseño oscuro y validación inteligente.

El protocolo WHOIS ha sido reemplazado gradualmente por RDAP (Registro de Acceso de Datos de Recursos), una alternativa moderna, más estructurada y segura. En este tutorial crearemos un buscador WHOIS visual, responsivo y potente con:

  • PHP
  • Bootstrap 5
  • IPAPI (para geolocalización de IP)
  • RDAP (para registrar y DNS)
  • Leaflet.js (para el mapa interactivo)

Tendremos dos archivos principales:

  • index.php: el formulario de búsqueda
  • dominio.php (o buscar/index.php): donde se muestran todos los datos del dominio

🗂️ Estructura del Proyecto

/whois-tool/
│
├── index.php         → Formulario principal
├── dominio.php  → Vista detallada del dominio.
└── assets/           → (Opcional) Imágenes, iconos o CSS personalizados

🧭 index.php — Formulario de Búsqueda

Este archivo contiene:

  • Un formulario simple para ingresar un dominio válido.
  • Validación HTML y JS para evitar errores.
  • Estilos oscuros, Bootstrap y Animate.css para una experiencia moderna.

🔍 Lo que hace:

  • Valida el dominio ingresado (por expresión regular).
  • Elimina https:// o http:// si se incluye.
  • Redirige a buscar/DOMINIO donde se cargará la información.

🧪 Tecnologías usadas:

  • Bootstrap 5 para estilos
  • Animate.css para animaciones
  • Bootstrap Icons para íconos modernos
  • Validación en HTML5 + JavaScript

🌐 dominio.php — Vista WHOIS y Geolocalización

Este archivo es el núcleo del sistema. Realiza lo siguiente:

1. 📥 Captura del dominio

$dominio = htmlspecialchars($_GET['dominio'] ?? '');

2. 🔎 Resolución de IP

$ips = @gethostbynamel($dominio);
$ipPrincipal = $ips[0] ?? 'N/A';

3. 📍 Geolocalización con IPAPI

Se hace una llamada a http://ip-api.com/json/IP, que devuelve ciudad, país, zona horaria, ISP, coordenadas y más.

$geoJson = @file_get_contents("http://ip-api.com/json/{$ip}");
$data = json_decode($geoJson, true);

4. 🏷️ RDAP para registrar, fecha y nameservers

RDAP usa diferentes endpoints según el TLD (como .com, .net, .org). Tu script detecta el TLD y consulta el servidor RDAP correspondiente.

$rdapData = json_decode(file_get_contents($rdapUrl . $domain), true);

5. ⏱️ Cálculo del tiempo desde la creación

$creacion = new DateTime($fecha);
$hoy = new DateTime();
$dias = $creacion->diff($hoy)->days;

6. 🗺️ Mapa interactivo

Usa Leaflet.js para mostrar la IP en el mapa si la latitud y longitud están disponibles.

var map = L.map('map').setView([LAT, LON], 10);
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png').addTo(map);
L.marker([LAT, LON]).addTo(map).bindPopup("Ubicación IP de dominio.com");

🎨 Interfaz de Usuario

Ambas páginas usan un diseño oscuro, limpio y profesional:

  • Fondo oscuro (#121212)
  • Tarjetas (.card) con color secundario
  • Tipografía clara
  • Íconos relacionados con la función (globo, DNS, lupa, ubicación)
  • Animaciones sutiles de entrada

📌 Ventajas de tu herramienta

FuncionalidadImplementación
Validación de dominioRegExp en HTML y JS
Resolución IPgethostbynamel()
GeolocalizaciónIPAPI (sin clave)
Datos WHOIS/RDAPModerno, rápido, sin shell_exec
Diseño responsivoBootstrap 5
Mapa interactivoLeaflet.js
Tiempo desde creaciónDateTime en PHP

🚀 ¿Qué podrías mejorar después?

  • Agregar exportación a PDF
  • Guardar historial de búsquedas
  • Verificar disponibilidad del dominio
  • Incluir búsqueda inversa por IP
  • Añadir más TLDs personalizados en RDAP
  • Generar un botón de compartir (WhatsApp, X, etc.)

🧠 Conclusión

Con solo dos archivos y tecnologías web modernas, has creado un buscador WHOIS completamente funcional, atractivo y útil para desarrolladores, SEOs, analistas de seguridad y cualquier curioso de la red.


🧱 ¿Descarga el Código completo? O visualiza en accion

✔️ El código completo de este proyecto ya está listo para producción. Descargar aqui

✔️ No necesita dependencias externas, hosting básico con PHP es suficiente. Ver online

Esgranmore Servicios

Esgranmore Servicios

Publicaciones originales y auténticas de nosotros, brindamos artículos relacionados a nuestros servicios entre otras cosas