Ping es una utilidad de red simple, ampliamente utilizada y multiplataforma para probar si un host es accesible en una red de Protocolo de Internet (IP). Funciona enviando una serie de mensajes de solicitud de eco de Protocolo de Control de Mensajes de Internet (ICMP) ECHO_REQUEST al host objetivo y esperando una respuesta de eco de ICMP (o ECHO_RESPONSE).
Puede ejecutar una prueba de ping para establecer si su computadora puede comunicarse con otra computadora (host objetivo); le ayuda a determinar:
- Si el host objetivo es accesible (activo) o no.
- Para medir el tiempo que tardan los paquetes en llegar al host objetivo y volver a su computadora (el tiempo de ida y vuelta (rtt) al comunicarse con el host objetivo) y
- La pérdida de paquetes se expresa como un porcentaje.
Su salida es una lista de respuestas del host objetivo junto con el tiempo que tardó el último paquete en llegar al host objetivo y volver a su computadora.
También muestra un resumen estadístico de la prueba, típicamente incluyendo el número de paquetes transmitidos y recibidos, el porcentaje de pérdida de paquetes; los tiempos de ida y vuelta mínimo, máximo, medio y la desviación estándar de la media (mdev). En caso de que una prueba de ping falle, verá mensajes de error como salida.
Ejemplos de comandos Ping en Linux
En este artículo, explicaremos 12 ejemplos prácticos de comandos ping para probar la accesibilidad de un host en una red.
Tabla de contenido
1. Ping a Dominio o Dirección IP
Puede ejecutar una prueba de ping simple para ver si el host objetivo www.google.com es alcanzable o no. También puede usar una dirección IP en lugar del nombre de dominio como se muestra.
$ ping www.google.com OR $ ping 172.217.27.196
Resultado de Muestra:
ping www.google.com PING www.google.com (172.217.27.196) 56(84) bytes of data. 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=1 ttl=111 time=5.01 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=2 ttl=111 time=4.75 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=3 ttl=111 time=5.37 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=4 ttl=111 time=4.99 ms ^C --- www.google.com ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3004ms rtt min/avg/max/mdev = 4.751/5.030/5.373/0.222 ms ...
A partir de los resultados del comando anterior, el ping fue exitoso y no hubo paquetes perdidos. Una cosa importante a tener en cuenta, en la salida de una prueba de ping, es el tiempo al final de cada respuesta de ping.
Suponiendo que esté realizando pruebas de ping en sus servidores, entonces el valor aquí importa mucho, dependiendo del tipo de aplicación que esté ejecutando en un servidor.
Si, por ejemplo, tiene una aplicación web donde una solicitud de usuario única resulta en muchas consultas a una base de datos (o bases de datos) para generar resultados en la interfaz de usuario, entonces un tiempo de ping más bajo a ese servidor en particular implica que se está transmitiendo más datos sin demora y lo contrario también es cierto.
2. Solicitud de Eco de Ping
Puede especificar el número de ECHO_REQUESTs que se enviarán después de los cuales ping terminará, utilizando la bandera -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.27.196) 56(84) bytes of data. 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=1 ttl=111 time=4.31 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=2 ttl=111 time=4.35 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=3 ttl=111 time=4.06 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=4 ttl=111 time=5.20 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=5 ttl=111 time=4.41 ms --- www.google.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4006ms rtt min/avg/max/mdev = 4.064/4.464/5.195/0.383 ms
3. Establecer Tiempo de Espera de Intervalo de Ping
La bandera -i
le permite establecer intervalos en segundos entre el envío de cada paquete, el valor predeterminado es un segundo.
$ ping -i 3 -c 5 www.google.com PING www.google.com (172.217.27.196) 56(84) bytes of data. 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=1 ttl=111 time=5.71 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=2 ttl=111 time=6.19 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=3 ttl=111 time=5.39 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=4 ttl=111 time=7.34 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=5 ttl=111 time=4.77 ms --- www.google.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 12014ms rtt min/avg/max/mdev = 4.768/5.879/7.341/0.863 ms
4. Ataque DoS con Inundación de Ping también conocido como Ping de la Muerte
Para determinar la respuesta de su red bajo condiciones de alta carga, puede ejecutar un “ping de inundación” que envía solicitudes lo más rápido posible, utilizando el interruptor -f
. Solo el usuario root puede usar esta opción; de lo contrario, utilice 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. Ping Broadcast de una LAN
Puede habilitar el ping a una difusión utilizando la opción -b
, lo que obtendrá una respuesta de todas las direcciones IP conectadas a su red LAN.
$ ping -b 192.168.0.0
6. Establecer Valor TTL de Ping
Para limitar el número de saltos de red (TTL – Tiempo de vida) que atraviesan las sondas, usa la bandera -t
. Puedes establecer cualquier valor entre 1 y 255; diferentes sistemas operativos tienen valores predeterminados diferentes.
Cada enrutador que recibe el paquete resta al menos 1 del conteo y si el conteo 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 tu computadora.
En este ejemplo, el TTL ha sido excedido y la prueba de ping ha fallado, como se muestra en la captura de pantalla.
$ ping -t 10 www.google.com

7. Establecer el Tamaño del Paquete de Ping
El tamaño predeterminado del paquete debería ser suficiente para una prueba de ping, sin embargo, puedes cambiarlo para satisfacer tus necesidades de prueba específicas. Puedes especificar el tamaño de la carga útil, en número de bytes usando la opción -s
, lo que resultará en un tamaño total del paquete igual al valor proporcionado más 8 bytes adicionales para el encabezado ICMP.
$ ping -s 1000 www.google.com
8. Establecer la Precarga de Ping
Si se agrega precarga, ping envía esa cantidad de paquetes sin esperar una respuesta. Ten en cuenta que solo el root puede seleccionar una precarga de más de 3, de lo contrario, utiliza el comando sudo para obtener privilegios de root.
$ sudo ping -l 5 www.google.com
9. Establecer el Tiempo de Espera de Ping
Es posible también establecer el tiempo de espera para recibir una respuesta, en segundos, utilizando la opción -W
como se muestra.
$ ping -W 10 www.google.com
10. Establecer el Tiempo de Espera de Ping en Segundos
Para establecer un tiempo de espera en segundos, antes de que el ping finalice independientemente de cuántos paquetes se hayan enviado o recibido, usa la bandera -w
.
$ ping -w 5 www.google.com
11. Depurar Paquetes ICMP de Ping
La opción -d
te permite habilitar los detalles de depuración de paquetes IP, como se muestra.
$ ping -d www.google.com
12. Salida Detallada de Ping
Puedes habilitar la salida detallada utilizando la bandera -v
, de la siguiente manera.
$ ping -v www.google.com
Nota: El Ping no necesariamente se utiliza para probar la conectividad de red, simplemente te indica si una dirección IP está activa o inactiva.
Normalmente se usa junto con el programa traceroute, pero, MTR – una herramienta de diagnóstico de red moderna combina la funcionalidad de ping y traceroute y ofrece muchas características adicionales.
Para obtener una lista completa de herramientas de redes, consulta: Gestión, solución de problemas y depuración de redes en Linux
Resumen
Ping es un método muy común para solucionar problemas de accesibilidad de hosts en una red. En este artículo, hemos explicado 12 ejemplos prácticos del comando ping para probar la accesibilidad de un dispositivo en red. Comparte tus pensamientos con nosotros a través del formulario de comentarios a continuación.