Betalingsmetoder Abuse

Sådan fungerer ping-kommandoen

26.11.2021, 18:30

Du har sikkert oplevet, at internettet på din computer pludselig går i stykker, og det kan ske, når du bruger ADSL-modemer, langdistance-Wifi, GSM og andre lignende upålidelige teknologier. Du kan hurtigt finde ud af, om din computer har internet, ved at bruge ping-værktøjet.

Anvendelsesområdet er dog meget bredere, det bruges af netværksadministratorer til at kontrollere tilgængeligheden af en fjern node i netværket, det bruges i forskellige scripts og mange andre steder. I denne artikel vil vi se på ping-kommandoen i Linux, vi vil tale om, hvordan man bruger værktøjet, hvordan det fungerer, se på dets muligheder og funktioner.

Sådan fungerer kommandoen

Ping-værktøjet er et simpelt fejlfindingsværktøj til netværk. Det giver dig mulighed for at tjekke, om en fjernhost er tilgængelig eller ej, og det er det hele. For at gøre dette tjekker værktøjet, om værten kan svare på netværksanmodninger ved hjælp af ICMP-protokollen. Jeg håber ikke, jeg behøver at fortælle dig, at alle data over netværket sendes som små pakker. Programmet sender en lille pakke med ICMP-data og forventer at modtage en svarpakke tilbage, og hvis det sker, anses fjernværten for at være tilgængelig. ICMP eller Internet Control Message Protocol er en tilføjelse til IP-protokollen, som bruges til at sende service- og fejlmeddelelser.

ICMP-protokollen kan kun sende to typer pakker - fejlrapporteringsmeddelelser og forespørgselsmeddelelser. Til gengæld er forespørgselsmeddelelser opdelt i:

Ekko-anmodningsbesked;

Besked om ekkosvar.

Lad os nu forstå, hvad ping-kommandoen gør. Når du har sendt en ping-anmodning til en fjernvært, indstiller værktøjet en unik identifikator for hver pakke samt TTL og tidspunktet, hvor pakken blev sendt. Hvis værten kan nås, sender den et svar; baseret på afsendelsestidspunktet kan værktøjet beregne pakkens round trip-tid. Derefter sendes den næste pakke. Til sidst beregnes det samlede antal sendte og modtagne pakker, tabsprocenten og andre data.

Ping-kommando

Nu har vi en lille smule øvelse tilbage. Men før vi går i gang, så lad os se på kommandosyntaksen og dens muligheder. Syntaksen er ganske enkel:

$ ping [options] host_address

Formatet på ping-kommandoen er meget enkelt. Du kan sende enten en ip-adresse eller et domænenavn som værtsadresse. Indstillingerne konfigurerer værktøjets opførsel. Lad os se på de vigtigste:

-4 - brug kun ipv4 (standard);

-6 - brug kun ipv6;

-A - adaptiv tilstand, tiden mellem afsendelse af en pakke er tilpasset tidspunktet for pakkens afsendelse og modtagelse, men ikke mindre end 200 millisekunder;

-b - tillad ping af broadcast-adresse;

-c - antal pakker, der skal sendes;

-D - output-tid som UNIX-tidsstempel;

-f - flood-tilstand, i denne tilstand sendes pakker uden forsinkelse, det kan bruges til DoS-angreb på individuelle noder. Antallet af prikker, som værktøjet udsender, angiver antallet af tabte pakker;

-i - intervallet i sekunder mellem afsendelse af pakker;

-I - brug denne netværksgrænseflade til at sende pakker;

-l - overbelastningstilstand, meget mange pakker sendes, og systemet overvåger ikke svarpakkerne;

-n - hent ikke domæner for ip-adresser;

-r - ignorér routingtabeller og send pakken til den angivne grænseflade;

-s - størrelsen på en pakke;

-t - indstil TTL manuelt;

-v - mere detaljeret output.

Nu hvor vi har gennemgået de grundlæggende parametre for ping-kommandoen og dens syntaks, er det tid til at øve sig. Det næste, vi skal se på, er, hvordan man pinger en bestemt host i Linux.

Hvordan man bruger

For at tjekke netværkets ydeevne bruger man ofte at pinge et websted, der altid er tilgængeligt, f.eks. google.com eller endnu enklere og kortere ya.ru. Du behøver kun at give denne adresse til værktøjet i parametrene, så finder det selv ip'en og gør alle de nødvendige ting:

$ ping ya.ru

Hver pakke modtager en unik identifikator icmp_seq, antallet af noder til målnoden ttl og den tid, der er brugt på at levere pakken time. For at stoppe ping skal du trykke på tastaturgenvejen Ctrl+C. Til sidst viser værktøjet generelle statistikker:

packets transmitted - sendte pakker;

modtaget -modtagne pakker;

pakketab - procentdel af tabte pakker;

tid - samlet arbejdstid;

rtt min/avg/max/mdev - minimumstid/gennemsnitstid/maksimumstid/kvadratisk afvigelse.

Hvis ping-kommandoen ikke stoppes, kan pakkerne blive sendt i meget lang tid, det skaber en ekstra belastning på serveren og er derfor ikke ønskværdigt. Du kan begrænse antallet af pakker, der sendes med det samme i kommandokaldet, ved at bruge indstillingen -c:

$ ping -c 3 ya.ru

Ligesom vi pinger efter et domæne, kan du angive ip-adressen direkte. Det giver dig mulighed for at tjekke, om der er et netværk, når DNS-servere er fejlkonfigurerede. Et eksempel:

 $ ping -c 3 8.8.8.8

Den næste type ping-meddelelser er ping flood. Ved hjælp af sådanne pakker kan du udføre belastningstest af kanalen eller endda lukke internetforbindelsen på en af maskinerne. Men disse funktioner kan kun bruges med superbrugerrettigheder. For at organisere en ping-flod skal du angive indstillingen -f:

$ ping -f losst.ru

Som standard, i normal tilstand, sendes hver næste pakke, når der modtages et svar på den forrige. Men du kan indstille intervallet mellem afsendelse af pakker -i:

$ ping -i 0.2 losst.ru

Her udfører ping-programmet en såkaldt, konfigurerbar flood, hvor du angiver, med hvilken intensitet du vil sende pakker. Med indstillingen -D kan du se Unix-tidsstemplet for hver besked:

$ ping -D losst.ru

Vi har set på, hvad ping-kommandoen er i Linux, hvordan man bruger den, grundlæggende parametre og anvendelsesmetoder. Dette meget enkle værktøj kan bruges til at teste netværksproblemer og løse dem. I den henseende kan værktøjet blive uundværligt.