Tutorial del comando ping de Linux para principiantes (8 ejemplos)
Independientemente del tipo de usuario de Linux que seas (principiante o profesional), hay ciertas herramientas que debes conocer. Una de ellas es Ping. En este tutorial, hablaremos de los fundamentos de esta herramienta utilizando algunos ejemplos fáciles de entender. Pero antes de hacerlo, vale la pena mencionar que todos los ejemplos del artículo han sido probados en una máquina Ubuntu 16.04 LTS.
El comando ping de Linux
En términos básicos, el comando ping te permite comprobar si un host remoto está vivo y responde. A continuación se muestra la sintaxis de la herramienta:
ping [OPTIONS] destination
Y así es como lo explica la página man:
ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to elicit
an ICMP ECHO_RESPONSE from a host or gateway. ECHO_REQUEST datagrams
(``pings'') have an IP and ICMP header, followed by a struct timeval
and then an arbitrary number of ``pad'' bytes used to fill out the
packet.
ping6 is IPv6 version of ping, and can also send Node Information
Queries (RFC4620). Intermediate hops may not be allowed, because IPv6
source routing was deprecated (RFC5095).
A continuación hay algunos ejemplos al estilo de las preguntas y respuestas que deberían darte una buena idea de cómo funciona el comando ping.
Q1. ¿Cómo se utiliza el comando ping?
El uso básico es bastante sencillo: basta con ejecutar el comando «ping» con el destino como entrada.
Por ejemplo:
ping howtoforge.com
A continuación se muestra el resultado de este comando producido en mi sistema:
Ten en cuenta que, por defecto, el comando seguirá ejecutándose hasta que lo detengas mediante Ctrl+C.
Q2. ¿Cómo cambiar el intervalo de tiempo entre los paquetes de ping?
Por defecto, hay un intervalo de un segundo entre los paquetes de ping. Sin embargo, si quieres, puedes personalizar este intervalo utilizando la opción de línea de comandos -i.
Por ejemplo, el siguiente comando hace que haya un intervalo de 3 segundos:
ping -i 3 howtoforge.com
Y el siguiente comando envía paquetes con un retraso de medio segundo.
ping -i 0.5 howtoforge.com
Ten en cuenta que sólo el superusuario puede establecer el intervalo en valores inferiores a 0,2 segundos
Q3. ¿Cómo cambiar el tamaño de los paquetes de ping?
Por defecto, el número de bytes de un paquete ping es de 56 (64 si incluyes 8 bytes de la cabecera ICMP). Sin embargo, si quieres, puedes cambiar este valor, algo que puedes hacer utilizando la opción de línea de comandos -s.
Por ejemplo, para enviar un paquete de 80 bytes (88 incluyendo la cabecera ICMP), utiliza el siguiente comando:
ping -s 80 howtoforge.com
Q4. ¿Cómo hacer que ping envíe un número determinado de paquetes?
El comportamiento por defecto de ping es seguir enviando paquetes hasta que el usuario lo interrumpa. Sin embargo, si quieres, puedes forzar a ping a que deje de ejecutarse tras enviar un número determinado de paquetes. Esto lo puedes hacer utilizando la opción de línea de comandos -c.
Por ejemplo, el siguiente comando enviará 3 paquetes y luego se detendrá.
ping -c 3 howtoforge.com
Q5. ¿Cómo lanzar una avalancha de paquetes mediante ping?
Sí, el comando ping también ofrece una opción para lanzar una avalancha de paquetes. Puedes hacerlo utilizando la opción de línea de comandos -f.
ping -f howtoforge.com
Esto es lo que dicen los documentos oficiales sobre esta opción:
For every ECHO_REQUEST sent a period ``.'' is
printed, while for ever ECHO_REPLY received a backspace is
printed. This provides a rapid display of how many packets are
being dropped. If interval is not given, it sets interval to
zero and outputs packets as fast as they come back or one hun?
dred times per second, whichever is more. Only the super-user
may use this option with zero interval.
Q6. ¿Cómo hacer que ping imprima la marca de tiempo antes de cada línea?
Hay una opción (-D) que te permite hacerlo. La marca de tiempo que se imprime es una combinación de tiempo unix y microsegundos (como en gettimeofday).
ping -D howtoforge.com
Aquí tienes una captura de pantalla de esta opción en acción:
Q7. ¿Cómo establecer un tiempo límite duro para el ping?
Puedes especificar un tiempo límite para que el ping salga. Esto lo puedes hacer utilizando la opción de línea de comandos -w que requiere un valor numérico que represente el número de segundos.
Por ejemplo, el siguiente comando ping se detendrá después de 3 segundos:
ping -w 3 howtoforge.com
Así es como los documentos oficiales explican esta opción:
Specify a timeout, in seconds, before ping exits regardless of
how many packets have been sent or received. In this case ping
does not stop after count packet are sent, it waits either for
deadline expire or until count probes are answered or for some
error notification from network.
Q8. ¿Cómo establecer un tiempo de espera suave para el ping?
Mientras que la opción -w hace que el ping se detenga en cualquier caso una vez transcurrido el plazo, hay otra opción (-W, en mayúsculas) que también hace que el ping se detenga pero sólo cuando no hay respuesta del lado de destino.
ping -W 3 howtoforge.com
Así es como la página man explica el comportamiento en este caso:
Time to wait for a response, in seconds. The option affects only
timeout in absence of any responses, otherwise ping waits for
two RTTs.
Conclusión
El ping es una herramienta importante que se utiliza casi con toda seguridad en la depuración de problemas relacionados con la red. En este tutorial, hemos hablado de algunas de las principales características (opciones de la línea de comandos) de esta utilidad. Practícalas, y una vez que hayas terminado, dirígete a lapágina man de la herramienta para saber más sobre ella.