Spôsoby platby Abuse

Ako funguje príkaz ping

26.11.2021, 18:30

Určite ste sa už stretli so situáciou, keď sa internet na vašom počítači náhle prerušil, takéto správanie možno pozorovať pri používaní modemov ADSL, diaľkovej Wifi, GSM a iných podobných nespoľahlivých technológií. Pomocou nástroja ping môžete rýchlo zistiť, či váš počítač má internet.

Rozsah jeho použitia je však oveľa širší, používajú ho správcovia sietí na kontrolu dostupnosti vzdialeného uzla v sieti, používa sa v rôznych skriptách a na mnohých ďalších miestach. V tomto článku sa budeme venovať príkazu ping v Linuxe, povieme si, ako túto utilitu používať, ako funguje, pozrieme sa na jej možnosti a funkcie.

Ako príkaz funguje

Nástroj ping je jednoduchý nástroj na riešenie problémov v sieti. Umožňuje skontrolovať, či je vzdialený hostiteľ dostupný alebo nie, a to je všetko. Na tento účel nástroj kontroluje, či hostiteľ dokáže odpovedať na sieťové požiadavky pomocou protokolu ICMP. Dúfam, že vám nemusím hovoriť, že všetky údaje v sieti sa prenášajú ako malé pakety. Program odošle malý paket údajov ICMP a očakáva, že dostane späť paket s odpoveďou, a ak sa tak stane, vzdialený hostiteľ sa považuje za dosiahnuteľného. ICMP alebo Internet Control Message Protocol je doplnok k protokolu IP, ktorý sa používa na prenos servisných a chybových správ.

Protokol ICMP môže prenášať len dva typy paketov - správy o chybách a správy o požiadavkách. Správy o požiadavkách sa zasa delia na:

Správu o požiadavke Echo;

správu s odpoveďou Echo.

Ďalej pochopíme, čo robí príkaz ping. Po odoslaní požiadavky ping na vzdialeného hostiteľa nástroj nastaví jedinečný identifikátor pre každý paket, ako aj TTL a čas odoslania paketu. Ak je hostiteľ dosiahnuteľný, odošle odpoveď; na základe času odoslania môže nástroj vypočítať čas spiatočnej cesty paketu. Potom sa odošle ďalší paket. Na konci sa vypočíta celkový počet odoslaných a prijatých paketov, percento straty a ďalšie údaje.

Príkaz Ping

Teraz nám zostáva trochu praxe. Ale skôr ako sa pustíme do praxe, pozrime sa na syntax príkazu a jeho možnosti. Syntax je pomerne jednoduchá:

$ ping [options] host_address

Formát príkazu ping je veľmi jednoduchý. Ako adresu hostiteľa môžete odovzdať buď adresu ip, alebo názov domény. Možnosti konfigurujú správanie nástroja. Uveďme si tie hlavné:

-4 - používať iba ipv4 (predvolené);

-6 - používať len ipv6;

-A - adaptívny režim, čas medzi odoslaním paketu je prispôsobený času odoslania a prijatia paketu, nie však kratší ako 200 milisekúnd;

-b - povoľuje ping na broadcastovú adresu;

-c - počet odosielaných paketov;

-D - výstupný čas ako časová značka UNIX;

-f - režim flood, v tomto režime sa pakety vysielajú bez oneskorenia, možno ho použiť na útoky DoS na jednotlivé uzly. Počet bodov, ktoré nástroj vypíše, udáva počet stratených paketov;

-i - interval v sekundách medzi odosielaním paketov;

-I - použitie tohto sieťového rozhrania na odosielanie paketov;

-l - režim preťaženia, posiela sa veľmi veľa paketov a systém nesleduje pakety odpovedí;

-n - nezískavať domény pre ip adresy;

-r - ignorovať smerovacie tabuľky a posielať pakety na zadané rozhranie;

-s - veľkosť jedného paketu;

-t - ručne nastaviť TTL;

-v - podrobnejší výstup.

Teraz, keď sme sa venovali základným parametrom príkazu ping a jeho syntaxi, je čas na prax, ďalej si povieme, ako pingnúť konkrétneho hostiteľa v Linuxe.

Ako používať

Na kontrolu výkonu siete sa často používa ping na ľubovoľnú stránku, ktorá je vždy dostupná, napríklad google.com alebo ešte jednoduchšie a kratšie ya.ru. Túto adresu stačí utilite odovzdať v parametroch, ona sama nájde ip a vykoná všetky potrebné úkony:

$ ping ya.ru

Každý paket dostal jedinečný identifikátor icmp_seq, počet uzlov na cieľový uzol ttl a čas strávený doručením paketu čas. Ak chcete ping zastaviť, stlačte klávesovú skratku Ctrl+C. Na konci nástroj zobrazí všeobecné štatistiky:

odoslané pakety - odoslané pakety;

prijaté - prijaté pakety;

strata paketov - percento stratených paketov;

čas - celkový pracovný čas;

rtt min/avg/max/mdev - minimálny čas/priemernýčas/maximálny čas/kvadratická odchýlka.

Ak sa príkaz ping nezastaví, pakety sa môžu odosielať veľmi dlho, vytvára to ďalšiu záťaž na server, a preto to nie je žiaduce. Počet paketov odoslaných okamžite vo volaní príkazu môžete obmedziť pomocou voľby -c:

$ ping -c 3 ya.ru

Rovnako ako pri príkaze ping pre doménu môžete priamo zadať ip adresu. To umožňuje skontrolovať, či je v sieti, keď sú servery DNS zle nakonfigurované. Napríklad:

 $ ping -c 3 8.8.8.8

Ďalším typom odosielania správ ping, je ping flood. Pomocou takýchto paketov môžete vykonať testovanie zaťaženia kanála alebo dokonca vypnúť internetové pripojenie na jednom zo strojov. Tieto funkcie však môžete používať len s právami superpoužívateľa. Ak chcete zorganizovať ping flood, zadajte možnosť -f:

$ ping -f losst.ru

V predvolenom nastavení sa v normálnom režime každý ďalší paket odošle po prijatí odpovede na predchádzajúci paket. Interval medzi odosielaním paketov však môžete nastaviť -i:

$ ping -i 0.2 losst.ru

Tu program ping vykoná tzv. konfigurovateľný flood, určíte, s akou intenzitou chcete pakety posielať. Pomocou voľby -D môžete zobraziť časovú pečiatku Unix Timestamp pre každú správu:

$ ping -D losst.ru

Pozreli sme sa na to, čo je príkaz ping v Linuxe, ako ho používať základné parametre a spôsoby použitia. Tento veľmi jednoduchý nástroj možno použiť na testovanie problémov v sieti a ich odstránenie. V tomto ohľade sa tento nástroj môže stať nenahraditeľným.