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.
Cómo usar el comando ping
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 1
o 2
. 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.
Especifique el número de paquetes
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.com
solo una vez usaría
ping -c 1 extassisnetwork.com
Especifique la interfaz de origen
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.com
utilizando em2
como interfaz de origen:
ping -I em2 extassisnetwork.com
Especifique el Protocolo de Internet
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 del comando ping
disponibles escribiendo man ping
en su terminal.
Si tienes alguna duda no dudes en contactar al autor en instagram o escribiendonos un ticket de soporte