Způsoby platby Abuse

Jak funguje příkaz ping

26.11.2021, 18:30

Jistě jste se již setkali se situací, kdy se internet v počítači náhle přerušil, takové chování lze pozorovat při používání modemů ADSL, dálkové Wifi, GSM a dalších podobných nespolehlivých technologií. Pomocí nástroje ping můžete rychle zjistit, zda je v počítači internet.

Rozsah jejího použití je však mnohem širší, používají ji správci sítí ke kontrole dostupnosti vzdáleného uzlu v síti, používá se v různých skriptech a na mnoha dalších místech. V tomto článku se budeme zabývat příkazem ping v Linuxu, povíme si, jak tuto utilitu používat, jak funguje, podíváme se na její možnosti a funkce.

Jak příkaz funguje

Nástroj ping je jednoduchý nástroj pro řešení síťových problémů. Umožňuje zkontrolovat, zda je vzdálený hostitel dostupný, či nikoli, a to je vše. Za tímto účelem nástroj zkontroluje, zda hostitel může odpovídat na síťové požadavky pomocí protokolu ICMP. Doufám, že vám nemusím říkat, že všechna data po síti jsou přenášena jako malé pakety. Program vyšle malý paket dat ICMP a očekává, že obdrží zpět paket s odpovědí, a pokud se tak stane, je vzdálený hostitel považován za dosažitelného. ICMP neboli Internet Control Message Protocol je doplněk protokolu IP, který se používá k přenosu servisních a chybových zpráv.

Protokol ICMP může přenášet pouze dva typy paketů - zprávy o chybách a zprávy o požadavcích. Zprávy o požadavcích se zase dělí na:

Zprávu s požadavkem na ozvěnu;

zprávu s odpovědí Echo.

Dále pochopíme, co dělá příkaz ping. Jakmile odešlete požadavek ping na vzdáleného hostitele, nástroj nastaví pro každý paket jedinečný identifikátor a také TTL a čas odeslání paketu. Pokud je hostitel dosažitelný, odešle odpověď; na základě času odeslání může nástroj vypočítat dobu zpáteční cesty paketu. Poté je odeslán další paket. Na závěr se vypočítá celkový počet odeslaných a přijatých paketů, procento ztrátovosti a další údaje.

Příkaz Ping

Nyní nám zbývá trocha praxe. Než se však pustíme do praxe, podívejme se na syntaxi příkazu a jeho možnosti. Syntaxe je poměrně jednoduchá:

$ ping [options] host_address

Formát příkazu ping je velmi jednoduchý. Jako adresu hostitele můžete předat buď adresu ip, nebo název domény. Volby nastavují chování nástroje. Uveďme si ty hlavní:

-4 - použít pouze ipv4 (výchozí);

-6 - použít pouze ipv6;

-A - adaptivní režim, doba mezi odesláním paketu je přizpůsobena době odeslání a přijetí paketu, ne však méně než 200 milisekund;

-b - povolí ping vysílací adresy;

-c - počet odesílaných paketů;

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

-f - flood mode, v tomto režimu jsou pakety vysílány bez zpoždění, lze jej využít pro DoS útoky na jednotlivé uzly. Počet bodů, které utilita vypíše, udává počet ztracených paketů;

-i - interval mezi odesíláním paketů v sekundách;

-I - použití tohoto síťového rozhraní k odesílání paketů;

-l - režim přetížení, odesílá se velmi mnoho paketů a systém nesleduje pakety s odpovědí;

-n - nezískávat domény pro ip adresy;

-r - ignoruje směrovací tabulky a odesílá pakety na zadané rozhraní;

-s - velikost jednoho paketu;

-t - ruční nastavení TTL;

-v - podrobnější výstup.

Nyní, když jsme se seznámili se základními parametry příkazu ping a jeho syntaxí, je čas na praxi, příště si povíme, jak v Linuxu pingnout konkrétního hostitele.

Jak používat

Pro kontrolu výkonu sítě se často používá ping na nějakou stránku, která je vždy dostupná, například google.com nebo ještě jednodušší a kratší ya.ru. Tuto adresu stačí předat utilitě v parametrech, ta si sama najde ip a provede vše potřebné:

$ ping ya.ru

Každý paket obdržel jedinečný identifikátor icmp_seq, počet uzlů k cílovému uzlu ttl a čas strávený doručením paketu čas. Chcete-li ping zastavit, stiskněte klávesovou zkratku Ctrl+C. Na závěr nástroj zobrazí obecné statistiky:

přenesené pakety - odeslané pakety;

přijaté - přijaté pakety;

ztráta paketů - procento ztracených paketů;

čas - celková pracovní doba;

rtt min/avg/max/mdev - minimální čas/průměrnýčas/maximální čas/kvadratická odchylka.

Pokud není příkaz ping zastaven, mohou být pakety odesílány velmi dlouho, to vytváří další zátěž serveru, a proto není žádoucí. Počet paketů odesílaných ihned ve volání příkazu můžete omezit pomocí parametru -c:

$ ping -c 3 ya.ru

Stejně jako u příkazu ping pro doménu můžete zadat přímo ip adresu. Tímto způsobem lze zkontrolovat, zda je síť při chybné konfiguraci serverů DNS. Příklad: V případě, že se jedná o server DNS, je možné použít následující příkaz:

 $ ping -c 3 8.8.8.8

Dalším typem odesílání zpráv ping, je ping flood. Pomocí takových paketů můžete provádět testování zátěže kanálu nebo dokonce vypnout internetové připojení na jednom ze strojů. Tyto funkce lze však používat pouze s právy superuživatele. Chcete-li zorganizovat ping flood, zadejte parametr -f:

$ ping -f losst.ru

Ve výchozím nastavení je v normálním režimu každý další paket odeslán, jakmile je přijata odpověď na předchozí paket. Interval mezi odesíláním paketů však můžete nastavit -i:

$ ping -i 0.2 losst.ru

Zde program ping provádí tzv. konfigurovatelný flood, určíte, s jakou intenzitou chcete pakety posílat. Pomocí parametru -D můžete u každé zprávy zobrazit časové razítko Unix Timestamp:

$ ping -D losst.ru

Podívali jsme se, co je příkaz ping v Linuxu, jak se používají jeho základní parametry a způsoby použití. Tento velmi jednoduchý nástroj lze použít k testování problémů v síti a jejich odstraňování. V tomto ohledu se nástroj může stát nepostradatelným.