12 ejemplos prácticos de comandos Ping para usuarios de Linux


Ping es una utilidad de red multiplataforma, simple y ampliamente utilizada para probar si un host es accesible en una red de Protocolo de Internet (IP). Funciona enviando una serie de mensajes ECHO_REQUEST del Protocolo de mensajes de control de Internet (ICMP) al host de destino y esperando una respuesta de eco ICMP (o ECHO_RESPONSE).

Puede ejecutar una prueba de ping para establecer si su computadora puede comunicarse con otra computadora (host de destino); te ayuda a determinar:

  • si el host de destino es accesible (activo) o no,
  • para medir la cantidad de tiempo que tardan los paquetes en llegar al host de destino y volver a su computadora (el tiempo de ida y vuelta (rtt) en la comunicación con el host de destino) y
  • la pérdida de paquetes, expresada como porcentaje.

Su salida es una lista de respuestas del host de destino junto con el tiempo que tarda el último paquete en llegar al host de destino y volver a su computadora. También muestra un resumen estadístico de la prueba, que generalmente incluye el número de paquetes transmitidos y los recibidos, el porcentaje de pérdida de paquetes; el mínimo, el máximo, los tiempos medios de ida y vuelta y la desviación estándar de la media (mdev). En caso de que falle una prueba de ping, verá mensajes de error como resultado.

En este artículo, explicaremos 12 ejemplos prácticos de comandos ping para probar la accesibilidad de un host en una red.

Aprender ejemplos de comandos de ping

1. Puede ejecutar una prueba de ping simple para ver si el host de destino www.google.com es accesible o no. También puede utilizar una dirección IP en lugar del nombre de dominio como se muestra.

$ ping www.google.com
OR
$ ping 216.58.212.78
PING www.google.com (172.217.166.164) 56(84) bytes of data.
64 bytes from bom07s20-in-f4.1e100.net (172.217.166.164): icmp_seq=1 ttl=57 time=2.40 ms
64 bytes from bom07s20-in-f4.1e100.net (172.217.166.164): icmp_seq=2 ttl=57 time=2.48 ms
64 bytes from bom07s20-in-f4.1e100.net (172.217.166.164): icmp_seq=3 ttl=57 time=2.43 ms
64 bytes from bom07s20-in-f4.1e100.net (172.217.166.164): icmp_seq=4 ttl=57 time=2.35 ms
^C
--- www.google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 2.353/2.420/2.484/0.058 ms

De los resultados del comando anterior, el ping fue exitoso y no se perdieron paquetes. Una cosa importante a tener en cuenta, en una salida de prueba de ping, es el tiempo al final de cada respuesta de ping. Suponiendo que está realizando una prueba de ping a sus servidores, entonces el valor aquí es muy importante, dependiendo del tipo de aplicación que esté ejecutando en un servidor.

Si, por ejemplo, tiene una aplicación web en la que una solicitud de un solo usuario da como resultado tantas consultas a una base de datos para generar resultados en la interfaz de usuario, entonces un tiempo de ping menor a ese servidor en particular implica que se están transmitiendo más datos sin un retraso y lo contrario es cierto.

2. Puede especificar el número de ECHO_REQUEST que se enviarán después de lo cual sale el ping, usando el indicador -c como se muestra (en este caso, la prueba de ping se detendrá después de enviar 5 paquetes).

$ ping -c 5 www.google.com

PING www.google.com (172.217.163.36) 56(84) bytes of data.
64 bytes from maa05s01-in-f4.1e100.net (172.217.163.36): icmp_seq=1 ttl=56 time=29.7 ms
64 bytes from maa05s01-in-f4.1e100.net (172.217.163.36): icmp_seq=2 ttl=56 time=29.7 ms
64 bytes from maa05s01-in-f4.1e100.net (172.217.163.36): icmp_seq=3 ttl=56 time=29.4 ms
64 bytes from maa05s01-in-f4.1e100.net (172.217.163.36): icmp_seq=4 ttl=56 time=30.2 ms
64 bytes from maa05s01-in-f4.1e100.net (172.217.163.36): icmp_seq=5 ttl=56 time=29.6 ms

--- www.google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4004ms
rtt min/avg/max/mdev = 29.499/29.781/30.285/0.307 ms

3. El indicador -i le permite establecer el intervalo en segundos entre el envío de cada paquete, el valor predeterminado es un segundo.

$ ping -i 3 -c 5 www.google.com

4. Para determinar la respuesta de su red en condiciones de alta carga, puede ejecutar un "ping de inundación" que envía solicitudes lo más rápido posible, utilizando el conmutador -f . Solo root puede usar esta opción; de lo contrario, use el comando sudo para obtener privilegios de root.

$ sudo ping -f www.google.com
OR
$ sudo ping -f -i 3 www.google.com	#specify interval between requests 

PING www.google.com (172.217.163.36) 56(84) bytes of data.
.......................................................................................................................................................................................^C
--- www.google.com ping statistics ---
2331 packets transmitted, 2084 received, 10% packet loss, time 34095ms
rtt min/avg/max/mdev = 29.096/29.530/61.474/1.417 ms, pipe 4, ipg/ewma 14.633/29.341 ms

5. Puede habilitar hacer ping a una transmisión usando el -b como se muestra.

$ ping -b 192.168.43.255

6. Para limitar el número de saltos de red (TTL - Time-to-live) que atraviesan las sondas, use el indicador -t . Puede establecer cualquier valor entre 1 y 255; diferentes sistemas operativos establecen diferentes valores predeterminados.

Cada enrutador que recibe el paquete resta al menos 1 del recuento y si el recuento sigue siendo mayor que 0, el enrutador reenvía el paquete al siguiente salto; de lo contrario, lo descarta y envía una respuesta ICMP a su computadora.

En este ejemplo, se superó el TTL y la prueba de ping falló, como se muestra en la captura de pantalla.

$ ping -t 10 www.google.com

7. El tamaño de paquete predeterminado debería ser suficiente para una prueba de ping, sin embargo, puede cambiarlo para satisfacer sus necesidades específicas de prueba. Puede especificar el tamaño de la carga útil, en número de bytes, utilizando la opción -s , lo que dará como resultado un tamaño de paquete total del valor proporcionado más 8 bytes adicionales para el encabezado ICMP.

$ ping -s 1000 www.google.com

8. Si se especifica precarga, ping envía esa cantidad de paquetes que no esperan respuesta. Tenga en cuenta que solo root puede seleccionar una precarga de más de 3; de lo contrario, utilice el comando sudo para obtener privilegios de root.

$ sudo ping -l 5 www.google.com 

9. También es posible configurar el tiempo de espera de una respuesta, en segundos, usando la opción -W como se muestra.

$ ping -W 10 www.google.com

10. Para establecer un tiempo de espera en segundos, antes de que el ping salga, independientemente de cuántos paquetes se hayan enviado o recibido, utilice el indicador -w .

$ ping -w 10 www.google.com

11. La opción -d le permite habilitar el detalle del paquete IP de depuración como se muestra.

$ ping -d www.google.com

12. Puede habilitar la salida detallada usando el indicador -v , de la siguiente manera.

$ ping -v www.google.com

Nota: Es posible que Ping no se utilice necesariamente para probar la conectividad de red, simplemente le indica si una dirección IP está activa o inactiva. Normalmente se utiliza junto con el MTR: una herramienta de diagnóstico de red moderna que combina la funcionalidad de ping y traceroute y ofrece muchas características adicionales.

Para obtener una lista completa de herramientas de red, consulte: A Linux Sysadmin's Guide to Network Management, Troubleshooting and Debugging

Ping es un método muy común para solucionar problemas de accesibilidad de hosts en una red. En este artículo, explicamos 12 ejemplos prácticos de comandos ping para probar la accesibilidad de un dispositivo en red. Comparta sus pensamientos con nosotros a través del formulario de comentarios a continuación.