Esta guía proporciona una visión detallada de cómo verificar puertos abiertos en macOS, incluyendo tanto puertos locales como externos (WAN).
Tabla de Contenidos
- Herramientas Básicas
- Verificación de Puertos Locales
- Verificación de Puertos WAN
- Casos de Uso Específicos
- Solución de Problemas Comunes
Herramientas Básicas
Netcat (nc)
La herramienta más versátil y común en macOS para verificación de puertos es nc
(netcat). Viene preinstalada en macOS.
Sintaxis básica:
nc -zv [host/ip] [puerto]
Opciones comunes:
-z
: Modo de escaneo-v
: Modo verbose-u
: Para puertos UDP-w
: Timeout en segundos
LSOF
Lista los archivos abiertos, incluyendo conexiones de red:
sudo lsof -i -P | grep -i "listen"
Nmap
Herramienta avanzada de escaneo de puertos. Requiere instalación:
brew install nmap
Verificación de Puertos Locales
Verificar un Puerto Específico
# Usando nc
nc -zv localhost 80
# Usando lsof
sudo lsof -i :80
# Usando nmap
nmap -p 80 localhost
Verificar Múltiples Puertos
# Rango de puertos con nc
nc -zv localhost 80-443
# Puertos específicos con nc
nc -zv localhost 80 443 8080
Verificación de Puertos WAN
Obtener IP Pública
curl ifconfig.me
# o
curl icanhazip.com
Métodos de Verificación Externa
1. Herramientas en Línea
2. Usando nping
sudo nping --udp -p 500 [ip_publica]
sudo nping --udp -p 4500 [ip_publica]
Casos de Uso Específicos
Verificación de Puertos para VPN (ejemplo Meraki)
# Verificar puertos UDP necesarios
nc -zuv [ip_meraki] 500
nc -zuv [ip_meraki] 4500
Monitoreo Continuo
# Script básico para monitoreo
while true; do
nc -zv [host] [puerto]
sleep 60
done
Solución de Problemas Comunes
1. Hairpin NAT
Cuando se intenta probar puertos WAN desde dentro de la misma red, puede encontrarse con problemas de «hairpin NAT». Soluciones:
- Usar servicios de verificación externos
- Probar desde una red diferente
- Utilizar herramientas de diagnóstico del router
2. Permisos
Algunos comandos requieren privilegios de administrador:
sudo [comando]
3. Timeouts
Para conexiones lentas, ajustar el timeout:
nc -zv -w 5 [host] [puerto]
Mejores Prácticas
- Seguridad
- Realizar escaneos solo en redes y sistemas autorizados
- Evitar escaneos agresivos que puedan ser detectados como ataques
- Documentar los resultados de las pruebas
- Rendimiento
- Limitar el número de puertos escaneados simultáneamente
- Usar timeouts apropiados
- Considerar el impacto en el ancho de banda
- Mantenimiento
- Verificar regularmente los puertos críticos
- Mantener un registro de los puertos que deberían estar abiertos
- Actualizar las herramientas de diagnóstico