12 exemples pràctics d'ordres Ping per a usuaris de Linux


Ping és una utilitat de xarxa multiplataforma senzilla i àmpliament utilitzada per provar si es pot accedir a un host en una xarxa de protocol d'Internet (IP). Funciona enviant una sèrie de missatges ECHO_REQUEST del protocol de missatges de control d'Internet (ICMP) a l'amfitrió de destinació i esperant una resposta d'eco ICMP (o ECHO_RESPONSE).

Podeu executar una prova de ping per tal d'establir si el vostre ordinador es pot comunicar amb un altre ordinador (amfitrió de destinació); t'ajuda a determinar:

  • si l'amfitrió objectiu és accessible (actiu) o no,
  • per mesurar la quantitat de temps que triguen els paquets a arribar a l'amfitrió de destinació i tornar al vostre ordinador (el temps d'anada i tornada (rtt) en comunicar-se amb l'amfitrió de destinació) i
  • la pèrdua de paquets, expressada com a percentatge.

La seva sortida és una llista de respostes de l'amfitrió de destinació juntament amb el temps que triga l'últim paquet a arribar a l'amfitrió de destinació i tornar a l'ordinador. També mostra un resum estadístic de la prova, que inclou normalment el nombre de paquets transmesos i els rebuts, percentatge de pèrdua de paquets; el mínim, el màxim, els temps mitjans d'anada i tornada i la desviació estàndard de la mitjana (mdev). En cas que una prova de ping falla, veureu missatges d'error com a sortida.

En aquest article, explicarem 12 exemples pràctics d'ordres ping per provar l'accessibilitat d'un host en una xarxa.

Aprèn exemples d'ordres Ping

1. Podeu executar una prova de ping senzilla per veure si l'amfitrió de destinació www.google.com és accessible o no. També podeu utilitzar una adreça IP en lloc del nom de domini, tal com es mostra.

$ ping www.google.com
OR
$ ping 216.58.212.78
PING www.google.com (172.217.166.164) 56(84) bytes of data.
64 bytes from bom07s20-in-f4.1e100.net (172.217.166.164): icmp_seq=1 ttl=57 time=2.40 ms
64 bytes from bom07s20-in-f4.1e100.net (172.217.166.164): icmp_seq=2 ttl=57 time=2.48 ms
64 bytes from bom07s20-in-f4.1e100.net (172.217.166.164): icmp_seq=3 ttl=57 time=2.43 ms
64 bytes from bom07s20-in-f4.1e100.net (172.217.166.164): icmp_seq=4 ttl=57 time=2.35 ms
^C
--- www.google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 2.353/2.420/2.484/0.058 ms

A partir dels resultats de l'ordre anterior, el ping va tenir èxit i no s'han perdut cap paquet. Una cosa important a tenir en compte, en una sortida de prova de ping és el temps al final de cada resposta de ping. Suposant que esteu fent una prova de ping als vostres servidors, el valor aquí importa molt, depenent del tipus d'aplicació que esteu executant en un servidor.

Si, per exemple, teniu una aplicació web on una sol·licitud d'usuari únic dóna lloc a tantes consultes a una base de dades per generar resultats a la interfície d'usuari, un temps de ping més baix a aquest servidor en concret implica que s'estan transmetent més dades sense retard i el contrari és cert.

2. Podeu especificar el nombre d'ECHO_REQUEST que s'han d'enviar després del qual s'acaba el ping, utilitzant el senyalador -c tal com es mostra (en aquest cas, la prova de ping s'aturarà després d'enviar 5 paquets).

$ ping -c 5 www.google.com

PING www.google.com (172.217.163.36) 56(84) bytes of data.
64 bytes from maa05s01-in-f4.1e100.net (172.217.163.36): icmp_seq=1 ttl=56 time=29.7 ms
64 bytes from maa05s01-in-f4.1e100.net (172.217.163.36): icmp_seq=2 ttl=56 time=29.7 ms
64 bytes from maa05s01-in-f4.1e100.net (172.217.163.36): icmp_seq=3 ttl=56 time=29.4 ms
64 bytes from maa05s01-in-f4.1e100.net (172.217.163.36): icmp_seq=4 ttl=56 time=30.2 ms
64 bytes from maa05s01-in-f4.1e100.net (172.217.163.36): icmp_seq=5 ttl=56 time=29.6 ms

--- www.google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4004ms
rtt min/avg/max/mdev = 29.499/29.781/30.285/0.307 ms

3. El senyalador -i us permet establir un interval en segons entre l'enviament de cada paquet, el valor per defecte és d'un segon.

$ ping -i 3 -c 5 www.google.com

4. Per determinar la resposta de la vostra xarxa en condicions de càrrega elevada, podeu executar un \ping d'inundació que enviï sol·licituds tan ràpid com sigui possible, utilitzant el commutador -f. Només el root pot utilitzar-lo. opció, en cas contrari, utilitzeu l'ordre sudo per obtenir privilegis 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. Podeu habilitar el ping d'una emissió utilitzant el -b tal com es mostra.

$ ping -b 192.168.43.255

6. Per limitar el nombre de salts de xarxa (TTL – Time-to-live) que travessen els sondeigs, utilitzeu el senyalador -t. Podeu establir qualsevol valor entre 1 i 255; diferents sistemes operatius estableixen diferents valors per defecte.

Cada encaminador que rep el paquet resta almenys 1 del recompte i si el recompte encara és superior a 0, l'encaminador reenvia el paquet al següent salt, en cas contrari el descarta i envia una resposta ICMP al vostre ordinador.

En aquest exemple, s'ha superat el TTL i la prova de ping ha fallat, tal com es mostra a la captura de pantalla.

$ ping -t 10 www.google.com

7. La mida de paquet predeterminada hauria de ser suficient per a una prova de ping, però, podeu canviar-la per satisfer les vostres necessitats específiques de prova. Podeu especificar la mida de la càrrega útil, en nombre de bytes mitjançant l'opció -s, que donarà com a resultat una mida total del paquet del valor proporcionat més 8 bytes addicionals per a la capçalera ICMP.

$ ping -s 1000 www.google.com

8. Si s'especifica la càrrega prèvia, ping envia tants paquets sense esperar resposta. Tingueu en compte que només root pot seleccionar una precàrrega superior a 3, en cas contrari, utilitzeu l'ordre sudo per obtenir privilegis de root.

$ sudo ping -l 5 www.google.com 

9. També és possible establir el temps d'espera d'una resposta, en segons, utilitzant l'opció -W tal com es mostra.

$ ping -W 10 www.google.com

10. Per establir un temps d'espera en segons, abans de sortir del ping, independentment de quants paquets s'hagin enviat o rebut, utilitzeu el senyalador -w.

$ ping -w 10 www.google.com

11. L'opció -d us permet habilitar el detall del paquet IP de depuració tal com es mostra.

$ ping -d www.google.com

12. Podeu habilitar la sortida detallada utilitzant el senyalador -v, de la següent manera.

$ ping -v www.google.com

Nota: Ping no s'utilitza necessàriament per provar la connectivitat de xarxa, simplement us indica si una adreça IP està activa o inactiva. Normalment s'utilitza juntament amb l'MTR: una eina de diagnòstic de xarxa moderna combina la funcionalitat de ping i traceroute i ofereix moltes funcions addicionals.

Per obtenir una llista completa d'eines de xarxa, consulteu: Una guia de l'administrador del sistema Linux per a la gestió de la xarxa, la resolució de problemes i la depuració

Ping és un mètode molt comú per resoldre problemes d'accessibilitat dels amfitrions en una xarxa. En aquest article, hem explicat 12 exemples pràctics d'ordres ping per provar l'accessibilitat d'un dispositiu en xarxa. Comparteix els teus pensaments amb nosaltres mitjançant el formulari de comentaris a continuació.