Las computadoras en red son tan comunes en estos días que la mayoría de nosotros damos por sentado que una computadora en un lado de una habitación puede comunicarse con una del otro lado de la habitación, mucho menos con el otro lado del mundo. Cuando funciona según lo diseñado, la red es lo que hace posible Internet, la nube, los archivos compartidos, la transmisión de medios, la administración remota, la impresión y mucho más. Cuando algo sale mal, a veces puede ser difícil de diagnosticar. Una de las herramientas de diagnóstico más fundamentales para la conectividad en red es el ping
comando.
Más recursos de Linux
- Hoja de trucos de los comandos de Linux
- Hoja de trucos de comandos avanzados de Linux
- Curso en línea gratuito:Descripción general técnica de RHEL
- Hoja de trucos de red de Linux
- Hoja de trucos de SELinux
- Hoja de trucos de los comandos comunes de Linux
- ¿Qué son los contenedores de Linux?
- Nuestros últimos artículos sobre Linux
El ping básico
Cuando no puede comunicarse con una computadora en su red local o un servidor en Internet, puede hacer ping. Un ping envía un paquete de Protocolo de mensajes de control de Internet (ICMP) a una dirección IP de destino. ICMP es, por diseño, un formato rudimentario utilizado principalmente para diagnósticos:es esencialmente una señal de llamada y respuesta.
Pero hay un orden para la resolución de problemas, y comienza lo más cerca posible de casa. En caso de duda, primero haga ping a su propia computadora para asegurarse de que está ejecutando una pila de red. La computadora que está operando también se llama su host local , y tiene asignada una dirección IP especial para hablar consigo mismo:12.0.0.1.
El ping
el comando entiende el localhost nombre de host, su dirección IP y un acceso directo de solo 0
.
Puedes controlar cuántas señales envías con -c
(como en contar ) opción.
$ ping 0 -c1
PING 0 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.069 ms
--- 0 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.069/0.069/0.069/0.000 ms
Una vez que haya establecido que su pila de red local está en funcionamiento, puede hacer ping a su enrutador. La dirección de un enrutador generalmente comienza con 192,168 o 10. La dirección IP exacta depende de la configuración de su enrutador.
Cuando no especifica cuántos pings enviar, puede detener ping
de ejecutar con Ctrl +C .
$ ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
From 192.168.0.100: icmp_seq=2 Redirect Host(New nexthop: 192.168.0.1)
From 192.168.0.100: icmp_seq=3 Redirect Host(New nexthop: 192.168.0.1)
From 192.168.0.100: icmp_seq=4 Redirect Host(New nexthop: 192.168.0.1)
From 192.168.0.100: icmp_seq=5 Redirect Host(New nexthop: 192.168.0.1)
^C
Si puede comunicarse con su enrutador, eso significa que su conexión por cable o inalámbrica está funcionando.
¿Qué pasa con otros hosts en mi red? Puede hacer ping a todo tipo de dispositivos. No se garantiza que todos respondan (algunos dispositivos descartan paquetes ICMP), pero muchos lo hacen. Por ejemplo, puedo hacer ping a mi impresora:
$ ping 192.168.0.4
Ping más allá de su red
Más allá de establecer que su propia red funciona como se espera, también puede hacer ping en el mundo más amplio más allá de su enrutador. Una vez más, no todos los servidores pueden recibir, y mucho menos responder, ICMP. Sin embargo, hay algunos que lo hacen, y un servidor vital para el funcionamiento de Internet es un servidor de nombres.
El servidor DNS de Google es relativamente fácil de recordar y responde a los pings:
$ ping -c 2 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=116 time=53.3 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=116 time=53.5 ms
--- 8.8.8.8 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 53.304/53.424/53.544/0.120 ms
Cuando un sitio aparentemente ha desaparecido, es posible que pueda sondear la red DNS mundial para averiguar cuál es la dirección de su servidor host y luego hacer ping a ese servidor. Esto al menos le dice si el host está caído o si es solo un problema del servidor web.
Por ejemplo, supongamos que está intentando sin éxito acceder a example.com. Primero, encuentre la dirección IP usando el host
comando:
$ host example.com
example.com has address 93.184.216.34
example.com has IPv6 address 2606:2800:220:1:248:1893:25c8:1946
example.com mail is handled by 0
Y luego haga ping al host del sitio web por IP:
$ ping 93.184.216.34 -c 1
Ping e IPv6
Ping funciona tanto en IPv4 como en IPv6. El uso de solo uno de ellos se puede aplicar explícitamente especificando -4
o -6
.
Tamaño del paquete
Puede cambiar el tamaño de los paquetes ICMP que está enviando con -s
opción. El tamaño de paquete predeterminado es 56, lo que se traduce en 64 bytes de datos ICMP cuando se combina con el encabezado de 8 bytes. Este comando envía 43 bytes:
$ ping -s 35 -c 5 8.8.8.8
Puede imprimir una marca de tiempo antes de cada informe de ping en su terminal con -D
opción. Esto proporciona el tiempo de época de UNIX, más microsegundos:
$ ping -D 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
[1634013430.297468] 64 bytes from 8.8.8.8: icmp_seq=1 ttl=116 time=53.3 ms
[1634013431.298738] 64 bytes from 8.8.8.8: icmp_seq=2 ttl=116 time=53.1 ms
Tiempo de ping
Puede cambiar el intervalo de tiempo entre pings usando -i
opción. Esto cambia el intervalo de ping a dos segundos:
$ ping -i 2
También puede dejar de hacer ping después de un valor de tiempo (en segundos) con -w
opción:
$ ping -w 6
Variantes
Hay muchas implementaciones de ping. Las iputils
el paquete proporciona un ping
comando, Busybox tiene un ping
comando, y hay uno de BSD y otros. Incluso hay una GUI para ping
:Gping está disponible para Linux, macOS y Windows. Puede encontrar más información para gping
en Github.
Aprende a hacer ping
El ping
El comando es simple, pero puede estar atento a la vasta extensión de su red. La próxima vez que tenga problemas de conectividad, haga ping
sea la primera herramienta a la que recurra.