Bienvenido/a
0412 523 4622 - 0273 514 7775

Comando ping de Linux

El comando ping es una de las utilidades más utilizadas para solucionar problemas, probar y diagnosticar problemas de conectividad de red.

Ping funciona enviando uno o más paquetes de solicitud de eco ICMP (Protocolo de mensajes de control de Internet) a una IP de destino específica en la red y espera una respuesta. Cuando el destino recibe el paquete, responderá con una respuesta de eco ICMP.

Con el comando ping, podemos determinar si una IP de destino remoto está activa o inactiva, encontrar el retraso de ida y vuelta en la comunicación con el destino y verificar si hay una pérdida de paquete.

La utilidad ping es una parte del paquete iputils(o iputils-ping)  que está preinstalado en casi todas las distribuciones de Linux. El comando ping también está disponible en Windows, MacOSX y FreeBSD.

La sintaxis del comando ping es la siguiente:

ping [OPTIONS] DESTINATION

 

Para ilustrar mejor cómo funciona el comando ping, vamos a hacer ping google.com:

ping google.com

 

La salida se verá algo como esto:

PING google.com (172.217.22.206) 56(84) bytes of data.
64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=1 ttl=53 time=40.2 ms
64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=2 ttl=53 time=41.8 ms
64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=3 ttl=53 time=47.4 ms
64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=4 ttl=53 time=41.4 ms
^C
--- google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 7ms
rtt min/avg/max/mdev = 40.163/42.700/47.408/2.790 ms

 

El comando ping resolverá el nombre de dominio en una dirección y comenzará a enviar paquetes ICMP a la IP de destino. Si se puede alcanzar la IP de destino, responderá y el comando ping imprimirá una línea que incluye los siguientes campos:

  • El número de bytes de datos. El valor predeterminado es 56, que se traduce en 64 bytes de datos ICMP.64 bytes
  • La dirección IP del destino – from muc11s01-in-f14.1e100.net (172.217.22.206)
  • El número de secuencia de ICMP para cada paquete. icmp_seq=1
  • El tiempo de vida. – ttl=53
  • El tiempo de ping, medido en milisegundos, es el tiempo de ida y vuelta para que el paquete llegue al host y para que la respuesta vuelva al remitente. –time=41.4 ms

De forma predeterminada, el intervalo entre el envío de un nuevo paquete es de un segundo.

El comando ping continuará enviando paquetes ICMP a la dirección IP de destino hasta que reciba una interrupción. Para detener el comando simplemente pulse la combinación de teclas Ctrl+C

Una vez que el comando se detiene, mostrará una estadística que incluye el porcentaje de pérdida de paquetes. La pérdida de paquetes significa que los datos se eliminaron en algún lugar de la red, lo que indica un problema dentro de la red. Si hay una pérdida de paquetes, puede usar el comando traceroute para identificar dónde se produce la pérdida de paquetes.

Si ping no devuelve una respuesta, significa que la comunicación de red no está establecida. Si esto sucede, no siempre significa que la IP de destino no esté activa, algunos hosts pueden tener un firewall que bloquea el tráfico ICMP o están configurados para no responder a las solicitudes de ping.

En caso de éxito, el comando ping sale con el código; 0 de lo contrario, saldrá con el código 12. Esto puede ser útil si está utilizando la utilidad ping en un script de shell.

En las siguientes secciones, veremos las opciones de comando ping más utilizadas.

Como ya hemos comentado, de forma predeterminada, el comando ping continuará enviando paquetes ICMP hasta que reciba una señal de interrupción. Para especificar el número de paquetes de solicitud de eco que se enviarán después de los cuales saldrá el ping, use la opción -c seguida del número de paquetes:

ping -c 1 DESTINATION

 

Por ejemplo, para hacer ping extassisnetwork.comsolo una vez usaría

ping -c 1 extassisnetwork.com

 

De forma predeterminada, ping enviará paquetes ICMP a través de la ruta predeterminada. Si tiene varias interfaces en su máquina, puede especificar la interfaz de origen con la opción -I:

ping -I INTERFACE_NAME DESTINATION

El siguiente comando hará ping extassisnetwork.comutilizando em2como interfaz de origen:

ping -I em2 extassisnetwork.com

 

Cuando ejecute el comando ping, utilizará IPv4 o IPv6, dependiendo de la configuración de DNS de su máquina.

Para forzar a ping a usar IPv4, pase la opción -4 o use su alias ping4. Para IPv6 pasar la opción -6 o uso ping6.

ping -4 DESTINATION
ping -6 DESTINATION

 

A estas alturas ya deberías tener una buena comprensión de cómo usar el comando ping de Linux . Siempre puede ver todas las opciones ping de comando disponibles escribiendo man pingen su terminal.