Betalingsmåter Abuse

Slik fungerer ping-kommandoen

26.11.2021, 18:30

Du har sikkert opplevd at Internett på datamaskinen din plutselig går i stykker, noe som kan forekomme ved bruk av ADSL-modem, langdistanse Wifi, GSM og andre lignende upålitelige teknologier. Du kan raskt finne ut om datamaskinen din har internett ved å bruke ping-verktøyet.

Bruksområdet er imidlertid mye bredere, det brukes av nettverksadministratorer for å sjekke tilgjengeligheten til en ekstern node i nettverket, det brukes i forskjellige skript og mange andre steder. I denne artikkelen vil vi se på ping-kommandoen i Linux, vi vil snakke om hvordan du bruker verktøyet, hvordan det fungerer, se på alternativene og funksjonene.

Hvordan kommandoen fungerer

Ping-verktøyet er et enkelt feilsøkingsverktøy for nettverk. Det lar deg sjekke om en ekstern vert er tilgjengelig eller ikke, og det er det hele. For å gjøre dette sjekker verktøyet om verten kan svare på nettverksforespørsler ved hjelp av ICMP-protokollen. Jeg håper jeg ikke trenger å fortelle deg at alle data over nettverket overføres som små pakker. Programmet sender en liten pakke med ICMP-data og forventer å motta en svarpakke tilbake. Hvis det skjer, anses den eksterne verten for å være tilgjengelig. ICMP eller Internet Control Message Protocol er et tillegg til IP-protokollen som brukes til å overføre service- og feilmeldinger.

ICMP-protokollen kan bare sende to typer pakker - feilrapporteringsmeldinger og forespørselsmeldinger. Forespørselsmeldinger er igjen delt inn i:

Ekkoforespørselsmelding;

Ekkosvarmelding.

La oss nå forstå hva ping-kommandoen gjør. Når du har sendt en ping-forespørsel til en ekstern vert, setter verktøyet en unik identifikator for hver pakke, i tillegg til TTL og tidspunktet pakken ble sendt. Hvis verten kan nås, sender den et svar; basert på sendetiden kan verktøyet beregne pakkens round trip-tid. Deretter sendes neste pakke. Til slutt beregnes det totale antallet sendte og mottatte pakker, tapsprosent og andre data.

Ping-kommando

Nå har vi litt øvelse igjen. Men før vi går i gang med det praktiske, skal vi se på syntaksen til kommandoen og dens alternativer. Syntaksen er ganske enkel:

$ ping [options] host_address

Formatet på ping-kommandoen er veldig enkelt. Du kan sende inn enten en ip-adresse eller et domenenavn som vertsadresse. Alternativene konfigurerer hvordan verktøyet skal oppføre seg. La oss se på de viktigste:

-4 - bruk bare ipv4 (standard);

-6 - bruk bare ipv6;

-A - adaptiv modus, tiden mellom sending av en pakke er tilpasset tidspunktet for pakkesending og mottak, men ikke mindre enn 200 millisekunder;

-b - tillat ping av kringkastingsadresse;

-c - antall pakker som skal sendes;

-D - utgangstid som UNIX-tidsstempel;

-f - flood-modus, i denne modusen sendes pakker uten forsinkelse, og den kan brukes til DoS-angrep på enkeltnoder. Antall prikker som verktøyet sender ut, angir antall tapte pakker;

-i - intervallet i sekunder mellom sending av pakker;

-I - bruk dette nettverksgrensesnittet til å sende pakker;

-l - overbelastningsmodus, svært mange pakker sendes, og systemet overvåker ikke svarpakkene;

-n - ikke hent domener for ip-adresser;

-r - ignorerer rutingstabeller og sender pakken til det angitte grensesnittet;

-s - størrelsen på en pakke;

-t - angi TTL manuelt;

-v - mer detaljert utdata.

Nå som vi har dekket de grunnleggende parametrene for ping-kommandoen og dens syntaks, er det tid for praksis, neste gang skal vi snakke om hvordan du pinger en bestemt vert i Linux.

Hvordan bruke

For å sjekke nettverksytelsen brukes ofte til å pinge et hvilket som helst nettsted som alltid er tilgjengelig, for eksempel google.com eller enda enklere og kortere ya.ru. Du trenger bare å passere denne adressen til verktøyet i parametrene, vil det finne ip selv og gjøre alle de nødvendige tingene:

$ ping ya.ru

Hver pakke mottatt en unik identifikator icmp_seq, antall noder til målnoden ttl og tiden brukt til å levere pakken tid. For å stoppe ping, trykk på hurtigtasten Ctrl+C. Til slutt viser verktøyet generell statistikk:

sendtepakker - sendte pakker;

mottatt -mottatte pakker;

pakketap - prosentandel av tapte pakker;

tid - total arbeidstid;

rtt min/avg/max/mdev - minimumstid/gjennomsnittligtid/maksimumstid/kvadratisk avvik.

Hvis ping-kommandoen ikke stoppes, kan pakkene sendes i svært lang tid, noe som skaper en ekstra belastning på serveren og derfor ikke er ønskelig. Du kan begrense antallet pakker som sendes umiddelbart i kommandoen ved å bruke alternativet -c:

$ ping -c 3 ya.ru

På samme måte som vi pinger for et domene, kan du spesifisere ip-adressen direkte. Dette gjør at du kan sjekke om det finnes et nettverk når DNS-servere er feilkonfigurert. Et eksempel:

 $ ping -c 3 8.8.8.8

Den neste typen sending av ping-meldinger er ping flood. Ved hjelp av slike pakker kan du utføre belastningstesting av kanalen eller til og med stenge Internett-tilkoblingen på en av maskinene. Men disse funksjonene kan bare brukes med superbrukerrettigheter. For å organisere en ping-flod spesifiserer du alternativet -f:

$ ping -f losst.ru

I normal modus sendes hver neste pakke som standard når det mottas et svar på den forrige. Men du kan angi intervallet mellom pakkesendingene med -i:

$ ping -i 0.2 losst.ru

Her utfører ping-programmet en såkalt, konfigurerbar flood, du angir med hvilken intensitet du vil sende pakker. Med -D-alternativet kan du se Unix-tidsstempelet for hver melding:

$ ping -D losst.ru

Vi har sett på hva ping-kommandoen er i Linux, hvordan du bruker den grunnleggende parametere og anvendelsesmetoder. Dette veldig enkle verktøyet kan brukes til å teste nettverksproblemer og fikse dem. I denne forbindelse kan verktøyet bli uunnværlig.