Cómo Hacer un Escaneo de Puertos: Guía Completa
Un escaneo de puertos (port scan) es una técnica de red que identifica qué puertos están abiertos en un servidor o dispositivo. Es fundamental para la seguridad — tanto para administradores que protegen sus sistemas como para profesionales que auditan redes. En esta guía explicamos cómo funciona, qué herramientas usar y cómo interpretar los resultados para proteger tus sistemas.
¿Qué es un puerto de red?
Los puertos son números del 0 al 65535 que identifican servicios específicos en una dirección IP. Cuando tu computadora se conecta a un servidor, se conecta a una IP:puerto específica:
104.21.50.120:443— HTTPS en miip.link192.168.1.1:80— HTTP en tu router10.0.0.1:22— SSH en un servidor
Sin puertos, una dirección IP solo podría manejar una conexión a la vez. Los puertos permiten que un servidor ofrezca múltiples servicios simultáneamente, como una dirección de edificio con muchos apartamentos. Los puertos se dividen en tres rangos:
- Puertos bien conocidos (0-1023): Asignados a servicios estándar como HTTP (80), HTTPS (443), SSH (22), FTP (21)
- Puertos registrados (1024-49151): Asignados por IANA a aplicaciones específicas como MySQL (3306), PostgreSQL (5432)
- Puertos dinámicos (49152-65535): Usados temporalmente por el sistema para conexiones salientes
Para profundizar en este tema, consulta nuestro artículo sobre cómo funcionan los puertos de red.
Los puertos más comunes
| Puerto | Protocolo | Servicio | Seguridad |
|---|---|---|---|
| 20, 21 | TCP | FTP (transferencia archivos) | ⚠️ Inseguro (texto plano) |
| 22 | TCP | SSH (acceso remoto) | ✅ Seguro (cifrado) |
| 25 | TCP | SMTP (envío de correo) | ⚠️ Sin cifrado por defecto |
| 53 | TCP/UDP | DNS | ✅ Necesario |
| 80 | TCP | HTTP (web) | ⚠️ Inseguro (texto plano) |
| 110 | TCP | POP3 (correo entrante) | ⚠️ Inseguro |
| 143 | TCP | IMAP (correo) | ⚠️ Inseguro sin TLS |
| 443 | TCP | HTTPS (web segura) | ✅ Seguro (TLS) |
| 993 | TCP | IMAPS (correo seguro) | ✅ Seguro |
| 3306 | TCP | MySQL | 🔴 No exponer a Internet |
| 3389 | TCP | RDP (Escritorio remoto) | ⚠️ Blanco de ataques |
| 5432 | TCP | PostgreSQL | 🔴 No exponer a Internet |
| 5900 | TCP | VNC (escritorio remoto) | ⚠️ Inseguro sin tunnel |
| 6379 | TCP | Redis | 🔴 No exponer a Internet |
| 8080 | TCP | HTTP alternativo | ⚠️ Depende del servicio |
| 27017 | TCP | MongoDB | 🔴 No exponer a Internet |
Los puertos marcados en rojo (🔴) son especialmente peligrosos si están expuestos a Internet. Las bases de datos como MySQL, PostgreSQL, Redis y MongoDB nunca deben ser accesibles desde fuera de la red local. Puedes verificar qué puertos tienes expuestos usando nuestro escáner de puertos online.
Cómo funciona un escaneo de puertos
Un escáner de puertos envía paquetes a cada puerto y analiza la respuesta. El resultado clasifica cada puerto en uno de tres estados:
- Open: El puerto responde → hay un servicio escuchando. Esto significa que alguna aplicación está lista para aceptar conexiones en ese puerto
- Closed: El puerto responde con RST → no hay servicio, pero el host está activo. La conexión fue rechazada activamente
- Filtered: No hay respuesta → un firewall está bloqueando el puerto. No se puede determinar si está abierto o cerrado
Tipos de escaneo
- TCP SYN (Half-open): Envía solo SYN, no completa el handshake. Rápido y sigiloso. Es el escaneo por defecto de nmap y el más usado por profesionales de seguridad
- TCP Connect: Completa el handshake completo. Más lento pero más confiable. No requiere privilegios de administrador, ideal para usuarios sin acceso root
- UDP Scan: Escanea puertos UDP. Más lento y menos confiable porque UDP no tiene handshake — muchos puertos UDP abiertos no responden a escaneos
- FIN/XMAS/NULL: Técnicas de evasión que envían paquetes con flags inusuales. Útiles para atravesar firewalls básicos que solo filtran paquetes SYN
Para más detalles sobre cómo funciona el protocolo TCP subyacente, consulta nuestro artículo sobre puertos de red.
Herramientas de escaneo de puertos
Nmap: el estándar de la industria
Nmap es la herramienta de escaneo de puertos más usada en el mundo. Es gratuita, de código abierto y extremadamente potente:
# Escaneo básico de puertos comunes nmap 192.168.1.1 # Escanear puertos específicos nmap -p 22,80,443 192.168.1.1 # Escanear todos los 65535 puertos nmap -p- 192.168.1.1 # Detectar servicios y versiones nmap -sV 192.168.1.1 # Detectar sistema operativo nmap -O 192.168.1.1 # Escaneo sigiloso (SYN) nmap -sS 192.168.1.1 # Escaneo rápido de puertos comunes nmap -F 192.168.1.1 # Escanear un rango de IPs nmap 192.168.1.0/24 # Guardar resultados en archivo nmap -oN resultado.txt 192.168.1.1
Nmap también soporta scripts NSE (Nmap Scripting Engine) para detectar vulnerabilidades específicas, automatizar pruebas de seguridad y mucho más. Es la herramienta que todo administrador de sistemas debería conocer.
Netcat: el cuchillo suizo de red
# Verificar si un puerto está abierto nc -zv 192.168.1.1 80 # Escanear un rango de puertos nc -zv 192.168.1.1 1-1000 # Conectar a un puerto específico nc 192.168.1.1 22
Netcat es más limitado que nmap para escaneos, pero es perfecto para verificar puertos individuales rápidamente o para transferir archivos entre servidores.
Escáner de puertos de miip.link
Si no quieres instalar nada, usa el escáner de puertos de miip.link directamente en tu navegador. Ingresa una IP o dominio y obtén los puertos abiertos al instante, sin instalar software. Es ideal para verificaciones rápidas o cuando no tienes acceso a la terminal.
Otras herramientas
- Masscan: El escáner más rápido del mundo, puede escanear toda Internet en 6 minutos. Diseñado para escaneos a gran escala
- RustScan: Alternativa moderna a nmap, más rápida en la fase de descubrimiento de puertos
- Angry IP Scanner: Interfaz gráfica, fácil de usar para principiantes
- Zenmap: Interfaz gráfica oficial para nmap, ideal para quienes prefieren ventanas sobre terminal
Interpretar los resultados
Cuando escaneas un servidor, los resultados te dicen mucho sobre su seguridad:
Buenos resultados (servidor seguro)
PORT STATE SERVICE 22/tcp open ssh 80/tcp open http 443/tcp open https
Solo los puertos esenciales están abiertos. Los servicios innecesarios están cerrados. Este es el perfil típico de un servidor bien configurado: solo expone lo que necesita para funcionar.
Resultados preocupantes
PORT STATE SERVICE 21/tcp open ftp 22/tcp open ssh 23/tcp open telnet 80/tcp open http 443/tcp open https 3306/tcp open mysql 5432/tcp open postgresql 6379/tcp open redis
⚠️ Problemas graves: telnet inseguro (debería ser SSH), base de datos expuesta a Internet, Redis sin protección. Este servidor es un objetivo fácil para atacantes. Los puertos de bases de datos nunca deberían ser accesibles desde Internet.
Casos de uso prácticos del escaneo de puertos
Auditar tu propia red
Antes de poner un servidor en producción, escanea todos sus puertos para verificar que solo los necesarios están abiertos. Usa nmap -sV -p- para un escaneo completo con detección de versiones. Repite este escaneo regularmente — a veces las actualizaciones abren puertos que no esperabas.
Verificar configuración de firewall
Después de configurar tu firewall, escanea desde fuera de la red para confirmar que solo los puertos permitidos son visibles. Escanea desde diferentes ubicaciones para verificar que las reglas se aplican correctamente.
Detectar servicios no autorizados
Si un empleado instala un servidor web o una base de datos sin autorización, un escaneo de puertos lo detectará. Programa escaneos periódicos de tu red para mantener un inventario actualizado de servicios.
Investigar problemas de conectividad
Si un servicio no funciona, verifica si el puerto está realmente abierto. A veces un servicio se dice "corriendo" pero el puerto no está escuchando — un escaneo rápido lo confirma. Complementa con ping para verificar conectividad básica.
Seguridad y ética del escaneo de puertos
¿Es legal escanear puertos?
En la mayoría de países, escanear puertos de redes que no son tuyas no es ilegal per se, pero:
- Escanea solo redes que te pertenecen o donde tienes autorización explícita
- Algunos ISPs bloquean escaneos agresivos y pueden suspender tu servicio
- Escaneos intensivos pueden considerarse ataques DoS si afectan el servicio
- Las leyes varían por jurisdicción — lo que es legal en un país puede no serlo en otro
- Los sistemas de detección de intrusos (IDS) registran los escaneos y pueden bloquearte
La regla de oro: solo escanea lo que es tuyo o donde tienes permiso explícito. Si necesitas auditar la seguridad de un tercero, obtén autorización por escrito.
Buenas prácticas para administradores
- Principio de mínimo privilegio: Solo abre los puertos que necesitas. Cada puerto abierto es una superficie de ataque potencial
- Firewall por defecto deny: Cierra todo por defecto, abre solo lo necesario
- Monitoreo: Configura alertas para escaneos de puertos sospechosos en tu IDS/IPS
- Actualizaciones: Mantén los servicios actualizados — los puertos abiertos con software viejo son vulnerabilidades conocidas
- No expongas bases de datos: MySQL, PostgreSQL, Redis y MongoDB nunca deben estar abiertos a Internet. Usa túneles SSH o VPN en su lugar
- Cambia puertos por defecto: Mover SSH del 22 a otro puerto no es seguridad real, pero reduce el ruido de bots en los logs
Cómo proteger tus puertos
# Cerrar todos los puertos excepto SSH y HTTP/HTTPS (iptables) iptables -P INPUT DROP iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # Lo mismo con ufw (más simple) ufw default deny incoming ufw allow 22/tcp ufw allow 80/tcp ufw allow 443/tcp ufw enable
Después de configurar tu firewall, verifica desde fuera de la red con un escaneo de puertos. También puedes usar consulta DNS para verificar la configuración de tus servicios, o revisar la información Whois del dominio.
Escaneo de puertos y privacidad
Es importante entender qué información revela un escaneo de puertos:
- Puertos abiertos revelan qué servicios estás ejecutando y potencialmente qué software y versión
- El orden y timing del escaneo puede identificar tu sistema operativo (OS fingerprinting)
- Los banners de servicio a menudo muestran versiones exactas, que los atacantes buscan en bases de datos de vulnerabilidades
Para minimizar la información expuesta: cierra puertos innecesarios, usa firewalls, deshabilita banners de servicio cuando sea posible, mantén todo actualizado, y considera ocultar tu dirección IP para reducir la superficie de ataque.
Preguntas frecuentes
¿Puedo escanear mi propia IP?
Sí, y es una excelente práctica para verificar qué puertos tienes abiertos. Usa miip.link para ver tu IP y luego escanea con nmap o nuestra herramienta online. Escanear tu propia red desde fuera es la mejor manera de ver lo que un atacante vería.
¿Por qué algunos puertos aparecen como "filtered"?
Un puerto filtrado significa que un firewall está bloqueando el escaneo. No puedes determinar si el puerto está abierto o cerrado — solo que algo está interceptando los paquetes. Esto es común en redes con firewalls bien configurados.
¿Cuánto tiempo tarda un escaneo completo?
Un escaneo de los 65535 puertos puede tomar desde segundos (con masscan) hasta minutos (con nmap). El tiempo depende de la velocidad de la red y el número de puertos. Para escaneos rápidos, usa nmap -F (solo los 100 puertos más comunes).
¿Nmap y escaneo de puertos son lo mismo?
Nmap es una herramienta, el escaneo de puertos es la técnica. Nmap hace escaneo de puertos pero también detección de servicios, sistema operativo y scripts de vulnerabilidades. Es mucho más que un simple escáner de puertos.
¿Cómo escaneo puertos UDP?
Los puertos UDP son más difíciles de escanear porque UDP no tiene handshake. Con nmap usa nmap -sU (requiere root). Los puertos UDP más importantes son 53 (DNS), 67/68 (DHCP), 123 (NTP), 161 (SNMP) y 5353 (mDNS).
¿Quieres escanear puertos ahora?
Usa el escáner de puertos de miip.link — gratis, sin instalación, directamente en tu navegador. También puedes consultar más artículos de red en nuestro blog.