12 Praktiske Ping Command-eksempler til Linux-brugere


Ping er et simpelt, meget udbredt netværk på tværs af platforme til test, hvis en vært kan nås på et IP-netværk (Internet Protocol). Det fungerer ved at sende en række Internet Control Message Protocol (ICMP) ECHO_REQUEST-meddelelser til målværten og vente på et ICMP-ekkosvar (eller ECHO_RESPONSE).

Du kan køre en ping-test for at fastslå, om din computer kan kommunikere med en anden computer (målhost); det hjælper dig med at bestemme:

  • om målværten er tilgængelig (aktiv) eller ej,
  • for at måle den tid, det tager for pakker at komme til målværten og tilbage til din computer (rundturstiden (rtt) i kommunikation med målværten) og
  • pakketab, udtrykt i procent.

Dets output er en liste over svar fra målværten sammen med den tid, det tager for den sidste pakke at nå målværten og tilbage til din computer. Det viser også et statistisk resumé af testen, der typisk inkluderer antallet af sendte pakker og de modtagne, procent af pakketab; minimum, maksimum, den gennemsnitlige rundturstid og standardafvigelse for middelværdien (mdev). Hvis en ping-test mislykkes, vil du se fejlmeddelelser som output.

I denne artikel vil vi forklare 12 praktiske ping-kommandoeksempler til test af tilgængelighed for en vært på et netværk.

Lær eksempler på Ping Command

1. Du kan køre en simpel ping-test for at se, om targe-værten www.google.com kan nås eller ej. Du kan også bruge en IP-adresse i stedet for domænenavn som vist.

$ 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

Fra resultaterne af ovenstående kommando var pingen vellykket, og der mistede ingen pakker. En vigtig ting at være opmærksom på, i en ping-testoutput er tiden i slutningen af hvert ping-svar. Forudsat at du udfører en ping-test til dine servere, så betyder værdien her meget, afhængigt af hvilken type applikation du kører på en server.

Hvis du for eksempel har en webapplikation, hvor en enkelt brugeranmodning resulterer i så mange forespørgsler til en database (r) for at generere resultater på brugergrænsefladen, betyder en lavere pingtid til den pågældende server, at der overføres flere data uden en forsinkelse og det modsatte er sandt.

2. Du kan specificere antallet af ECHO_REQUEST'er, der skal sendes, efter hvilket ping udgår, ved hjælp af -c -flagget som vist (i dette tilfælde stopper ping-testen efter afsendelse af 5 pakker).

$ 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. Flagget -i giver dig mulighed for at indstille interval i sekunder mellem afsendelse af hver pakke, standardværdien er et sekund.

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

4. For at bestemme dit netværks reaktion under høje belastningsforhold kan du køre en "flood ping", der sender anmodninger så hurtigt som muligt ved hjælp af -f -kontakten. Kun root kan bruge denne mulighed, ellers skal du bruge sudo-kommandoen for at få root-rettigheder.

$ 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. Du kan aktivere ping af en udsendelse ved hjælp af -b som vist.

$ ping -b 192.168.43.255

6. For at begrænse antallet af netværkshumler (TTL - Time-to-live), der sonderes gennem, skal du bruge flagget -t . Du kan indstille en hvilken som helst værdi mellem 1 og 255; forskellige operativsystemer angiver forskellige standardindstillinger.

Hver router, der modtager pakken, trækker mindst 1 fra optællingen, og hvis optællingen stadig er større end 0, videresender routeren pakken til næste hop, ellers forkaster den den og sender et ICMP-svar tilbage til din computer.

I dette eksempel er TTL overskredet, og ping-testen mislykkedes, som vist på skærmbilledet.

$ ping -t 10 www.google.com

7. Standardpakkestørrelsen skal være tilstrækkelig til en ping-test, men du kan ændre den for at imødekomme dine specifikke testbehov. Du kan specificere størrelsen på nyttelasten i antal byte ved hjælp af indstillingen -s , hvilket vil resultere i en samlet pakkestørrelse af den angivne værdi plus 8 ekstra byte til ICMP-headeren.

$ ping -s 1000 www.google.com

8. Hvis forudindlæsning er specificeret, sender ping så mange pakker, som ikke venter på svar. Bemærk, at kun root kan vælge en forudindlæsning mere end 3, ellers skal du bruge sudo-kommandoen for at få root-rettigheder.

$ sudo ping -l 5 www.google.com 

9. Det er også muligt at indstille tiden til at vente på et svar i sekunder ved hjælp af indstillingen -W som vist.

$ ping -W 10 www.google.com

10. For at indstille en timeout i sekunder, før ping afsluttes uanset hvor mange pakker der er sendt eller modtaget, skal du bruge flagget -w .

$ ping -w 10 www.google.com

11. Indstillingen -d giver dig mulighed for at aktivere fejlretning af IP-pakkeoplysninger som vist.

$ ping -d www.google.com

12. Du kan aktivere detaljeret output ved hjælp af -v flag som følger.

$ ping -v www.google.com

Bemærk: Ping bruges muligvis ikke til test af netværksforbindelse, det fortæller dig blot, om en IP-adresse er aktiv eller inaktiv. Det bruges normalt sammen med MTR - et moderne netværksdiagnosticeringsværktøj kombinerer funktionaliteten af ping og traceroute og tilbyder mange ekstra funktioner.

For en omfattende liste over netværksværktøjer, se: En Linux Sysadmin-guide til netværksadministration, fejlfinding og fejlretning

Ping er en meget almindelig metode til fejlfinding af tilgængeligheden af værter på et netværk. I denne artikel har vi forklaret 12 praktiske ping-kommandoeksempler til test af tilgængeligheden af en netværksenhed. Del dine tanker med os via nedenstående kommentarformular.