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).
Tabla de Contenidos
¿Qué es el comando Ping en Linux?
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.
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:
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:
Opciones | Uso |
-c | Establece cuántos paquetes enviar |
-a | Reproduce un sonido cuando el destino responde |
-i | Cambia el intervalo de envío de paquetes |
-v | Activa la salida detallada |
-V | Comprueba la versión ping |
-q | Resume todos los resultados del ping en una salida |
-f | Inunda el host de destino con un gran número de paquetes para pruebas de estrés |
-4 y -6 | Especifica el protocolo de la dirección IP de destino como IPv4 o IPv6, respectivamente |
-s | Modifica la unidad de transmisión máxima |
-D | Inicia cada resultado de ping con una marca de tiempo UNIX |
-W o -w | Establece 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
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
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
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
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.
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.
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.
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.
¡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:
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
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.
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.