Guía: Verificacion de Puertos en macOS

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

  1. Herramientas Básicas
  2. Verificación de Puertos Locales
  3. Verificación de Puertos WAN
  4. Casos de Uso Específicos
  5. 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

  1. Seguridad
    • Realizar escaneos solo en redes y sistemas autorizados
    • Evitar escaneos agresivos que puedan ser detectados como ataques
    • Documentar los resultados de las pruebas
  2. Rendimiento
    • Limitar el número de puertos escaneados simultáneamente
    • Usar timeouts apropiados
    • Considerar el impacto en el ancho de banda
  3. Mantenimiento
    • Verificar regularmente los puertos críticos
    • Mantener un registro de los puertos que deberían estar abiertos
    • Actualizar las herramientas de diagnóstico

Referencias