El diagnóstico de conectividad remota desde una sesión SSH requiere aislar latencia, pérdida de paquetes y caídas de nodos intermedios. Las herramientas ping, traceroute y mtr permiten comprobar la respuesta de un host, rastrear la ruta IP salto a salto y auditar en tiempo real pérdidas causadas por enlaces saturados o filtrado ICMP.

Comprobación de latencia y alcance con ping -c

El comando ping envía datagramas ICMP Echo Request para medir el tiempo de ida y vuelta (RTT) entre dos interfaces de red. En sesiones remotas interactivas es obligatorio acotar la ejecución con el parámetro -c para evitar bucles indefinidos que bloqueen el prompt si se pierde el control de terminal:

# Enviar exactamente 5 paquetes con tiempo de espera de 2 segundos por respuesta
ping -c 5 -W 2 192.0.2.1

# Modificar el intervalo de envío a 0.5 segundos (requiere privilegios root para valores menores a 0.2)
ping -c 10 -i 0.5 198.51.100.10

Cuando se administra infraestructura desde un dispositivo táctil, un ping sin límite de paquetes obliga a abortar el proceso mediante señales de interrupción. En clientes como la terminal SSH y Mosh termi1, la fila de control integrada ofrece la combinación Ctrl+C directamente accesible sin alternar entre submenús del teclado del sistema, facilitando la detención inmediata del proceso si se olvidó incluir -c.

Rastreo de rutas y detección de saltos con traceroute

El comando traceroute identifica los routers intermediarios en la ruta hacia un destino incrementando progresivamente el valor Time To Live (TTL) de los paquetes IP salientes. En sistemas Linux, traceroute envía por defecto datagramas UDP a puertos altos (del rango 33434 en adelante), mientras que las implementaciones BSD o Windows suelen priorizar ICMP.

# Rastreo numérico sin resolución DNS inversa para agilizar la salida
traceroute -n -q 2 -m 20 203.0.113.50

# Rastreo mediante sondas ICMP Echo en lugar de paquetes UDP
traceroute -I -n 203.0.113.50

# Rastreo TCP SYN dirigido al puerto estándar de OpenSSH o HTTPS
traceroute -T -p 22 -n 203.0.113.50

El uso del flag -n suprime las consultas DNS reversas por cada salto, reduciendo el tiempo de espera si los servidores DNS presentan demoras. La opción -q 2 limita las sondas a dos por nodo, agilizando la inspección en enlaces con alta latencia de transporte.

Diagnóstico continuo de pérdida de paquetes con mtr -rw

El comando mtr combina las capacidades de ping y traceroute en una única utilidad que muestrea constantemente todos los nodos de la ruta de red. Para registrar métricas en servidores desatendidos o guardar informes limpios en scripts de mantenimiento, el modo informe sin interfaz interactiva ncurses es el estándar recomendado según la documentación man7 de Linux:

# Generar un informe estático de 50 ciclos en formato ancho sin truncar nombres de host
mtr -rw -c 50 198.51.100.25 > diagnostico_red.txt

# Inspeccionar la ruta forzando paquetes TCP hacia el puerto 22 de OpenSSH
mtr --tcp --port 22 -rw -c 30 198.51.100.25

El modificador -r (report) recopila las estadísticas durante los ciclos definidos con -c y entrega una tabla resumen con porcentajes de pérdida (Loss%), latencia media (Avg) y desviación estándar (StDev). El parámetro -w (wide) evita que los nombres de dominio de los enrutadores se recorten en pantallas estrechas. Si la sesión remota se gestiona dentro de tmux, el informe de mtr puede dejarse corriendo en segundo plano sin riesgo de corte por inactividad.

Estrategias de diagnóstico ante tráfico ICMP bloqueado

Los cortafuegos perimetrales y los proveedores de nube suelen descartar paquetes ICMP de forma silenciosa para mitigar ataques de denegación de servicio. La ausencia de respuesta a ping no implica necesariamente que el servicio final esté inactivo:

  1. Sustituir sondas ICMP por TCP SYN: Utilizar traceroute -T -p 22 o herramientas como tcptraceroute dirigidas al puerto donde OpenSSH escucha por defecto (TCP 22) para verificar si el canal de transporte real está accesible.
  2. Validar la conectividad de puertos con netcat o curl: Comprobar la negociación TCP directa mediante nc -zv -w 3 destino 22 o curl -I https://destino para descartar bloqueos selectivos de nivel 4.
  3. Inspeccionar el tráfico UDP en entornos con Mosh: Recordar que Mosh opera mediante UDP (habitualmente en puertos 60000 a 61000). Si la sesión SSH inicial negocia pero Mosh no enlaza, el firewall permite TCP 22 pero descarta los paquetes UDP requeridos para la persistencia móvil.
  4. Comprobar rutas en redes privadas malladas: En infraestructuras sin IP pública directa, recurrir a una red en malla como Prialo o Tailscale evita problemas de filtrado ICMP intermedio al encapsular el tráfico en túneles cifrados directos.

Comparativa de herramientas de diagnóstico de red

Cada utilidad resuelve una etapa concreta de la resolución de incidencias en telecomunicaciones:

HerramientaProtocolo por defectoMétrica principalUso idóneo en movilidad
ping -cICMP Echo RequestRTT y pérdida directaComprobación binaria rápida de enlace
tracerouteUDP / ICMPTopología de saltosLocalización de caídas en tránsito
mtr -rwICMP / TCP configurableEstabilidad y jitter acumuladoInformes detallados para tickets técnicos

Al introducir estos diagnósticos desde dispositivos móviles, la función de IA de termi1 puede convertir una frase como «haz un mtr de 30 ciclos a este host» en el comando exacto sin pulsar Intro, permitiendo al administrador revisar los modificadores antes de lanzarlo en entornos productivos.

Preguntas frecuentes

¿Por qué ping muestra pérdida de paquetes pero el servicio web responde?

Los enrutadores intermedios y servidores asignan menor prioridad de procesamiento a los paquetes ICMP Echo Request que al tráfico TCP. Una tasa moderada de pérdida en ping suele reflejar limitación de tasa por software en la CPU del router y no una degradación real en la aplicación web.

¿Cómo interpretar asteriscos continuos en los saltos de traceroute?

Los asteriscos en la salida de traceroute indican que el nodo correspondiente no respondió dentro del tiempo límite fijado. Esto ocurre de forma habitual cuando los enrutadores intermedios tienen deshabilitada la generación de mensajes ICMP Time Exceeded o bloquean datagramas UDP por políticas de seguridad.

¿Qué diferencia técnica existe entre mtr interactivo y mtr -rw?

El modo interactivo de mtr refresca constantemente la pantalla mediante la biblioteca ncurses, consumiendo ancho de banda continuo en la sesión SSH. El flag -rw deshabilita la interfaz dinámica, ejecuta los ciclos solicitados y emite un informe estático de texto plano listo para almacenar o compartir.

¿Por qué falla traceroute cuando la conexión Mosh se mantiene activa?

Mosh encapsula la comunicación sobre datagramas UDP en el rango de puertos 60000-61000 tras autenticarse mediante OpenSSH en TCP 22. Si las reglas de firewall corporativas filtran paquetes ICMP y UDP genéricos, traceroute fallará mientras que los puertos específicos de Mosh continuarán reenviando paquetes.