Comando Ping de Linux: definición, ejemplos prácticos y consejos

El comando ping de Linux es una herramienta para diagnosticar problemas de conectividad, controlar el rendimiento de la red y comprobar la disponibilidad del servidor. Está preinstalado en la mayoría de las distribuciones y es accesible a través del Terminal o de un cliente SSH.

El comando ping funciona enviando paquetes del Protocolo de Mensajes de Control de Internet (ICMP) a una dirección especificada. Si el servidor de destino devuelve una respuesta eco ICMP (ICMP echo request), significa que está conectado a la red.

Este artículo te explicará para qué sirve el ping de Linux, incluyendo su sintaxis, opciones y casos de uso comunes. También aprenderás a leer los resultados del comando ping para solucionar problemas de conectividad en tu servidor virtual (VPS).

El comando ping en Linux, o packet internet groper, es una utilidad para diagnosticar problemas de red en un servidor o red. Funciona enviando al dispositivo de destino un paquete de datos y esperando la respuesta. Los administradores de red pueden modificar el comportamiento del ping mediante varias opciones. Por ejemplo, puedes establecer el número de paquetes enviados y cambiar los intervalos.

Sintaxis y opciones del comando ping

ping suele estar preinstalado en la mayoría de los sistemas operativos Linux. Para comprobar si tu sistema lo tiene, consulta la versión de ping instalada utilizando este comando:

ping -V

Si ping está instalado, verás el número de versión. En caso contrario, Terminal devolverá el error comando no encontrado.

Ejemplo del comando ping de Linux

Dependiendo del sistema operativo de tu máquina, los pasos de instalación pueden variar. Por ejemplo, ejecutaremos este comando Linux para instalar ping en nuestro sistema de pruebas Ubuntu 20.04:

sudo apt-get update && install iputils-ping

Una vez instalado, ejecuta el comando ping con la siguiente sintaxis. Debería ser la misma para todas las distribuciones:

ping option destination

Sustituye destination por la dirección IP, el nombre de host o la URL exactos del sistema de destino. También puedes añadir una opción para especificar el comportamiento del comando. Éstas son algunas de las opciones más populares:

OpcionesUso
-cEstablece cuántos paquetes enviar
-aReproduce un sonido cuando el destino responde
-iCambia el intervalo de envío de paquetes
-vActiva la salida detallada
-VComprueba la versión ping
-qResume todos los resultados del ping en una salida
-fInunda el host de destino con un gran número de paquetes para pruebas de estrés
-4 y -6Especifica el protocolo de la dirección IP de destino como IPv4 o IPv6, respectivamente
-sModifica la unidad de transmisión máxima
-DInicia cada resultado de ping con una marca de tiempo UNIX
-W o -wEstablece un tiempo de espera para cada paquete o sesión, respectivamente

Consejo profesional

Combina varias opciones del comando ping para realizar pruebas más específicas.

Cómo utilizar el comando ping de Linux

Esta sección explorará los casos de uso, la sintaxis y la salida del comando ping de Linux. Para ejecutar estos comandos en una máquina remota, conéctate utilizando un cliente SSH como PuTTY o Terminal. Si eres usuario de Hostinger, utiliza el Navegador Terminal integrado para hacer ping en Linux. 

1. Comprueba la conectividad

El comando ping más básico te permite comprobar la conexión a Internet de un servidor. Por ejemplo, ejecuta lo siguiente para comprobar si tu sistema está conectado a Internet y puede llegar al servidor anfitrión de Google:

ping google.com
Ejemplo de uso del comando ping de Linux con Google.com

Utiliza este comando para comprobar si tu VPS está funcionando y respondiendo a la conexión del cliente. Utiliza su nombre de host o dirección IP como destino:

ping 185.185.185.185

Si Terminal devuelve la respuesta de mensaje eco ICMP, tu sistema está activo y conectado a internet. 

De lo contrario, el VPS o la máquina cliente pueden estar teniendo problemas. Para comprobar si tu sistema actual está experimentando un problema de conexión de red, haz ping a su nombre de host:

ping localhost

Si el comando ping devuelve una respuesta eco, el problema reside en el sistema remoto.

2. Especifica el número de ECHO_REQUEST

Por defecto, ping envía paquetes ilimitados hasta que el usuario finaliza el proceso. Para enviar un número concreto de paquetes, utiliza la opción -c:

ping -c * destination

Sustituye * por el número límite de tus paquetes. Por ejemplo, este comando ping enviará cinco paquetes a la dirección IP especificada:

ping -c 5 185.185.185.185
Ejemplo de uso del comando ping de Linux con -c

3. Ping audible

La opción -a reproducirá un sonido cuando el comando ping reciba una respuesta del dispositivo de destino. Puesto que mantener el Terminal abierto hasta que reciba una respuesta es incómodo, esta opción es útil para solucionar problemas de red.

La sintaxis y la salida son similares a las del comando ping básico:

ping -a destination
Ejemplo de uso del comando ping de Linux con -a

4. Establece intervalos

El comando ping enviará un paquete cada segundo. Sin embargo, puede que necesites cambiarlo para una tarea específica. Por ejemplo, un intervalo de tiempo más corto es útil durante la resolución de problemas, ya que obtendrás más muestras de datos.

Para cambiar el valor por defecto del intervalo de ping, utiliza la opción -i y especifica el número de segundos. Para fijarlo en más de un segundo, utiliza un decimal. Aquí tienes un ejemplo:

ping -i 0.5 185.185.185.185
Ejemplo de uso del comando ping de Linux con -i

5. Resume las estadísticas

La monitorización continua del ping puede resultar tediosa debido a la larga salida de Terminal. Para simplificar los resultados, utiliza la opción -q. El comando resumirá todas las estadísticas de ping en una única salida, simplificando el análisis:

ping -q destination

Si no especificas el número de paquetes, el resumen aparecerá después de finalizar el proceso.

Ejemplo de uso del comando ping de Linux con -q

6. Inunda la red 

El comando ping te permite enviar rápidamente paquetes en grandes cantidades utilizando la opción -f. Este ayuda a simular el rendimiento de tu servidor durante un pico de tráfico o un ataque ataque  distribuido de denegación de servicio (DDoS). Ésta es la sintaxis del comando:

ping -f destination

Al igual que la opción -q, el comando ping flood sólo mostrará el resumen de las respuestas a los paquetes. Por ejemplo, la siguiente salida muestra que hemos enviado más de 200 paquetes ping en dos segundos.

Ejemplo de uso del comando ping de Linux con -f

7. Especifica el protocolo de internet

Debido al desarrollo de Internet, las direcciones IPv4 se están agotando, e IPv6 es cada vez más común. La configuración por defecto del comando ping utiliza IPv4, pero puedes utilizar cualquiera de los dos protocolos de internet.

Añade la opción -4 para utilizar la dirección IPv4 y -6 para enviar un ping IPv6. Este es el aspecto de los comandos ping:

ping -4 destination
ping -6 destination

También puedes hacer ping desde Linux a un nombre de host o de dominio con estas opciones. En este caso, la salida mostrará que el destino está resuelto a la dirección IP correspondiente.

Ejemplo de uso del comando ping de Linux con -4 y -6

8. Cambia el tamaño del paquete ping

Por defecto, el comando ping envía un paquete con 56 (84) bytes de datos. 56 representa el tamaño del paquete en bytes. Mientras, 84 especifica el tamaño total en bytes del ping, incluyendo todas las cabeceras, que suman 28 bytes.

Puedes cambiar el tamaño por defecto para comprobar si tu enlace de red se estrangula al recibir un paquete mayor. Para ello, utiliza la opción -s:

ping -s 1234 destination

Sustituye 1234 por el tamaño real de tu paquete ping en bytes. Recuerda que el tamaño de tu comando no incluye la cabecera. Así, si escribes 1000, el tamaño total de tu paquete será de 1028 bytes.

Ejemplo de uso del comando ping de Linux con -s

¡Importante! Debido a las limitaciones del protocolo, el tamaño máximo de los paquetes es de 65.535 bytes, incluida la cabecera.

9. Añade una marca de tiempo

Para simplificar la supervisión del rendimiento de la red, el comando ping te permite añadir una marca de tiempo a la respuesta del paquete. Para usar este método, añade la opción -D utilizando la siguiente sintaxis de comando:

ping -D destination

La salida comenzará con una marca de tiempo en un formato UNIX similar al siguiente:

Ejemplo de uso del comando ping de Linux con -D

La marca de tiempo muestra el segundo, minuto, hora, día, mes y año de cada respuesta. Para convertirla a un formato legible por humanos, utiliza una herramienta en línea como Epoch Converter.

10. Tiempo de espera ping

El comando ping tiene dos opciones de tiempo de espera, -W y -w. La opción -W determina el tiempo que esperará cada ping hasta que el host especificado envíe una respuesta. Si sobrepasa el tiempo, la petición caduca.

Mientras tanto, la opción -w establece el límite de tiempo antes de que el comando ping finalice. Terminal terminará automáticamente el proceso cuando alcance el tiempo especificado. Aquí la sintaxis de los comandos ping:

ping -W * destination
ping -w * destination

Sustituye * por la duración del tiempo de espera en segundos. Por ejemplo, utiliza lo siguiente para hacer ping a tu host remoto durante cinco segundos:

ping -w 5 185.185.185.185
Ejemplo de uso del comando ping de Linux con -w

Interpretar los resultados del ping

La respuesta ping te proporciona diversa información sobre la conectividad de tu red. La salida puede variar en función de tu opción y del estado de la red, pero la estructura sigue siendo la siguiente:

64 bytes from (185.185.185.185): icmp_seq=1 ttl=64 time=0.1 ms

Aquí cómo interpretar la salida ping anterior:

  • 64 bytes: el tamaño del paquete en bytes de datos del protocolo ICMP. Añade 8 bytes al tamaño de tu paquete para la cabecera ICMP.
  • Desde (185.185.185.185): la dirección de destino que responde a tu ping. Si utilizas un nombre de host o dominio de sitio web, mostrará la dirección IP resuelta.
  • Icmp_seq: el número de secuencia ICMP del paquete. El número aumentará en un dígito para las siguientes peticiones de eco.
  • ttl (time to live): esta métrica indica cuántas veces puede moverse el paquete entre routers antes de que caduque.
  • time=0,1 ms: el tiempo total de ida y vuelta (RTT) de un paquete, incluido el retardo.

Al final de la salida está la línea de estadísticas de ping, que resume todos los paquetes. Estos datos son útiles para analizar la latencia y la pérdida de paquetes. En otras palabras, puedes utilizarlo para identificar posibles problemas que ralenticen tu red.

Línea del resumen estadístico del comando ping

Consejos para usar el comando Ping

En esta sección, exploraremos las mejores prácticas de ping para ayudarte a utilizar eficazmente la herramienta para el diagnóstico y la supervisión de la red.

Utiliza ping para diagnosticar problemas internos y externos de la Red

Si tienes varios sistemas en una red, determinar dónde está el problema puede ser difícil. El comando ping te permite apuntar a diferentes destinos para determinar fácilmente qué sistema está experimentando un problema.

Además, puedes hacer ping a tu sistema actual para diagnosticar la interfaz de red local. Mediante el bucle de paquetes, puedes determinar si su pila de red funciona correctamente.

Compara los resultados de ping para establecer líneas de base para el rendimiento de la red

Para identificar los problemas de la red, debes comprender cómo funciona normalmente. Ten en cuenta que cada red se comporta de forma diferente debido a factores como la carga, la topología y la distancia.

Ejecutar el comando ping varias veces te permite determinar el punto de referencia de rendimiento para el análisis de la línea de base de la red.

Si el resultado de tu ping se desvía de la línea de base, indica posibles problemas. Además, puedes utilizarlo para evaluar el rendimiento de tu servidor después de aplicar cambios.

Ten cuidado con los ajustes del cortafuegos que puedan bloquear las peticiones ICMP

Los cortafuegos de algunas distribuciones de Linux pueden bloquear las peticiones ICMP por defecto, impidiéndote recibir o enviar paquetes ping.

Para comprobar si hay un conflicto entre el cortafuegos y las peticiones ICMP, haz una lista de tus reglas iptables con el siguiente comando:

sudo iptables -L

Busca una regla que contenga ICMP con el valor DROP o REJECT. Para permitir las peticiones de ping, elimina las reglas de iptables utilizando la siguiente sintaxis de comando:

sudo iptables -D rules

Utiliza Ping en combinación con otras herramientas de diagnóstico para un análisis exhaustivo

Aunque es adecuado para un análisis básico, el comando ping puede no ser suficiente para diagnosticar todos los problemas de red. Intenta combinarlo con otras herramientas de red de Linux para realizar un análisis más profundo.

Por ejemplo, combina traceroute y ping para rastrear una ruta de paquetes desde el sistema cliente hasta el destino. Para comprobar el rendimiento de la red, utiliza Iperf para medir la velocidad máxima de conexión y el ancho de banda.

Los usuarios de VPS de Hostinger pueden utilizar la función de Uso del Servidor de hPanel para supervisar fácilmente la transmisión de paquetes y el uso de la red con un gráfico fácil de usar.

Conclusión

El comando ping de Linux es una herramienta para comprobar la conectividad y la disponibilidad del sistema. Está preinstalado en la mayoría de las distribuciones de Linux y es accesible a través del Terminal o de un cliente SSH.

Consiste en enviar paquetes ICMP a una máquina de destino utilizando su nombre de host, dominio o dirección IP.

Los usuarios pueden añadir varias opciones para modificar el comando para diferentes escenarios de prueba. Por ejemplo, utiliza -c para establecer el número de paquetes enviados, -i para cambiar el intervalo de tiempo y -q para resumir los resultados del ping en una salida.

La salida del ping te da información sobre el destino del paquete, el tamaño, el tiempo de vida y el tiempo de respuesta. Además de a un sistema remoto, puedes hacer ping a tu ordenador local para diagnosticar problemas internos de la red.

El cortafuegos de tu sistema puede hacer que el ping no funcione correctamente. Al hacer ping, hay que asegurarse de que el cortafuegos de los dispositivos no bloquean los paquetes ICMP.

Para un diagnóstico más preciso, ejecuta el comando varias veces y acompáñalo de otras herramientas como traceroute.

Esperamos que esta explicación haya sido útil. Si tienes comentarios o dudas, déjalas en la sección de abajo.  

Author
El autor

Deyimar A.

Deyi es una entusiasta del marketing digital, con experiencia en diseño de páginas web, creación de contenido, copywrite y SEO. Forma parte del equipo de SEO & Localization de Hostinger. En su tiempo libre, le gusta desarrollar proyectos, leer un libro o ver una buena película.