Betalningsmetoder Abuse

Hur kommandot ping fungerar

26.11.2021, 18:30

Du har säkert varit med om att Internet på din dator plötsligt bryts, ett sådant beteende kan observeras när du använder ADSL-modem, långdistans Wifi, GSM och andra liknande opålitliga tekniker. Du kan snabbt ta reda på om din dator har internet genom att använda ping-verktyget.

Men tillämpningsområdet är mycket bredare, det används av nätverksadministratörer för att kontrollera tillgängligheten för en fjärrnod i nätverket, det används i olika skript och många andra platser. I den här artikeln kommer vi att titta på ping-kommandot i Linux, vi kommer att prata om hur man använder verktyget, hur det fungerar, titta på dess alternativ och funktioner.

Hur kommandot fungerar

Ping-verktyget är ett enkelt felsökningsverktyg för nätverk. Det låter dig kontrollera om en fjärrvärd är tillgänglig eller inte och det är det. För att göra detta kontrollerar verktyget om värden kan svara på nätverksförfrågningar med hjälp av ICMP-protokollet. Jag hoppas att jag inte behöver berätta för dig att all data över nätverket överförs som små paket. Programmet sänder ett litet paket med ICMP-data och förväntar sig att få ett svarspaket tillbaka, om det gör det anses fjärrvärden vara nåbar. ICMP eller Internet Control Message Protocol är ett tillägg till IP-protokollet som används för att överföra service- och felmeddelanden.

ICMP-protokollet kan bara sända två typer av paket - felrapporteringsmeddelanden och förfrågningsmeddelanden. Förfrågningsmeddelanden är i sin tur indelade i:

Echo request-meddelande;

Eko-svarsmeddelande.

Låt oss nu förstå vad kommandot ping gör. När du har skickat en ping-begäran till en fjärrvärd anger verktyget en unik identifierare för varje paket, samt TTL och tiden då paketet skickades. Om värden är nåbar skickar den ett svar; baserat på sändningstiden kan verktyget beräkna paketets tur- och returtid. Därefter skickas nästa paket. I slutet beräknas det totala antalet skickade och mottagna paket, förlustprocent och andra data.

Ping-kommando

Nu har vi lite övning kvar. Men innan vi går in på praktiken ska vi titta på kommandots syntax och dess alternativ. Syntaxen är ganska enkel:

$ ping [options] host_address

Formatet för ping-kommandot är mycket enkelt. Du kan ange antingen en ip-adress eller ett domännamn som värdadress. Alternativen konfigurerar hur verktyget ska fungera. Låt oss titta på de viktigaste:

-4 - använd endast ipv4 (standard);

-6 - använd endast ipv6;

-A - adaptivt läge, tiden mellan att skicka ett paket anpassas till tiden för sändning och mottagning av paket, men inte mindre än 200 millisekunder;

-b - tillåter ping av sändningsadress;

-c - antal paket som ska skickas;

-D - utmatningstid som UNIX-tidsstämpel;

-f - flood mode, i detta läge sänds paket utan fördröjning, det kan användas för DoS-attacker på enskilda noder. Antalet prickar som verktyget matar ut anger antalet förlorade paket;

-i - intervallet i sekunder mellan sändning av paket;

-I - använd det här nätverksgränssnittet för att skicka paket;

-l - överbelastningsläge, väldigt många paket skickas och systemet övervakar inte svarspaketen;

-n - hämtar inte domäner för ip-adresser;

-r - ignorerar routningstabeller och skickar paketet till det angivna gränssnittet;

-s - storleken på ett paket;

-t - Ställ in TTL manuellt;

-v - mer detaljerad utdata.

Nu när vi har täckt de grundläggande parametrarna för ping-kommandot och dess syntax är det dags för övning, nästa kommer vi att prata om hur man pingar en specifik värd i Linux.

Hur man använder

För att kontrollera nätverksprestandan används ofta för att pinga någon webbplats som alltid är tillgänglig, till exempel google.com eller ännu enklare och kortare ya.ru. Du behöver bara skicka den här adressen till verktyget i parametrarna, det kommer att hitta ip själv och göra alla nödvändiga saker:

$ ping ya.ru

Varje paket fick en unik identifierare icmp_seq, antalet noder till målnoden ttl och den tid det tog att leverera paketet time. För att stoppa ping, tryck på tangentbordsgenvägen Ctrl+C. I slutet visar verktyget allmän statistik:

sändapaket - sända paket;

mottagna - mottagna paket;

paketförlust - procentandel av förlorade paket;

tid - total arbetstid;

rtt min/avg/max/mdev - minstatid/medeltid/maximal tid/kvadratisk avvikelse.

Om ping-kommandot inte stoppas kan paketen skickas under mycket lång tid, det skapar en extra belastning på servern och är därför inte önskvärt. Du kan begränsa antalet paket som skickas omedelbart i kommandot genom att använda alternativet -c:

$ ping -c 3 ya.ru

Precis som när vi pingar för en domän kan du ange ip-adressen direkt. Detta gör att du kan kontrollera om det finns ett nätverk när DNS-servrar är felkonfigurerade. Ett exempel:

 $ ping -c 3 8.8.8.8

Nästa typ av sändning av pingmeddelanden är ping flood. Med hjälp av sådana paket kan du utföra belastningstestning av kanalen eller till och med stänga av internetanslutningen på en av maskinerna. Men dessa funktioner kan endast användas med superanvändarrättigheter. Om du vill organisera en pingflod anger du alternativet -f:

$ ping -f losst.ru

Som standard, i normalläge, skickas varje nästa paket när ett svar på det föregående har mottagits. Men du kan ställa in intervallet mellan sändning av paket -i:

$ ping -i 0.2 losst.ru

Här utför ping-programmet en så kallad, konfigurerbar översvämning, du anger med vilken intensitet du vill skicka paket. Med alternativet -D kan du se Unix-tidsstämpeln för varje meddelande:

$ ping -D losst.ru

Vi har tittat på vad ping-kommandot är i Linux, hur man använder det grundläggande parametrar och tillämpningsmetoder. Detta mycket enkla verktyg kan användas för att testa nätverksproblem och åtgärda dem. I detta avseende kan verktyget bli oumbärligt.