Bez ohledu na to, jaký typ uživatele Linuxu jste (začátečník nebo profík), existují určité nástroje, kterých si musíte být vědomi. Jedním z takových nástrojů je Ping . V tomto tutoriálu probereme základy tohoto nástroje pomocí několika snadno srozumitelných příkladů. Ale než to uděláme, stojí za zmínku, že všechny příklady v tomto článku byly testovány na počítači Ubuntu 16.04 LTS.
Příkaz ping systému Linux
V nejzákladnějších termínech vám příkaz ping umožňuje zkontrolovat, zda je vzdálený hostitel aktivní a odpovídá. Následuje syntaxe nástroje:
ping [OPTIONS] cíl
A zde je návod, jak to vysvětluje manuálová stránka:
ping používá povinný datagram ECHO_REQUEST protokolu ICMP k vyvolání
ICMP ECHO_RESPONSE z hostitele nebo brány. Datagramy ECHO_REQUEST
(``pingy'') mají IP a ICMP hlavičku, za kterou následuje struct timeval
a poté libovolný počet ``pad'' bajtů používaných k vyplnění
packet.
ping6 je IPv6 verze ping a může také odesílat dotazy o uzlu
Dotazy (RFC4620). Mezilehlé skoky nemusí být povoleny, protože směrování zdroje IPv6
bylo zastaralé (RFC5095).
Následuje několik příkladů ve stylu otázek a odpovědí, které by vám měly poskytnout dobrou představu o tom, jak příkaz ping funguje.
O1. Jak používat příkaz ping?
Základní použití je poměrně snadné – stačí provést příkaz 'ping' s cílem jako vstupem.
Například:
ping howtoforge.com
Následuje výsledek tohoto příkazu vytvořeného v mém systému:
Všimněte si, že ve výchozím nastavení bude příkaz pokračovat ve vykonávání, dokud jej nezastavíte pomocí Ctrl+C.
Q2. Jak změnit časový interval mezi pakety ping?
Ve výchozím nastavení je mezi pakety ping mezera jedna sekunda. Pokud však chcete, můžete toto zpoždění upravit pomocí volby příkazového řádku -i.
Například následující příkaz zajistí, že bude mezera 3 sekund:
ping -i 3 howtoforge.com
A následující příkaz odesílá pakety se zpožděním půl sekundy.
ping -i 0.5 howtoforge.com
Pamatujte, že pouze superuživatel může nastavit interval na hodnoty menší než 0,2 sekundy
Q3. Jak změnit velikost paketu ping?
Ve výchozím nastavení je počet bajtů v paketu ping 56 (64, pokud zahrnete 8 bajtů hlavičky ICMP). Pokud však chcete, můžete tuto hodnotu změnit, což můžete provést pomocí volby příkazového řádku -s.
Chcete-li například odeslat 80bajtový paket (88 včetně hlavičky ICMP), použijte následující příkaz:
ping -s 80 howtoforge.com
4. Jak přimět ping odeslat nastavený počet paketů?
Výchozí chování příkazu ping je udržovat odesílání paketů, dokud je uživatel nepřeruší. Pokud však chcete, můžete přinutit ping zastavit provádění po odeslání nastaveného počtu paketů. To můžete provést pomocí volby příkazového řádku -c.
Například následující příkaz odešle 3 pakety a poté se zastaví.
ping -c 3 howtoforge.com
O5. Jak spustit záplavu paketů pomocí pingu?
Ano, příkaz ping také nabízí možnost spustit záplavu paketů. To můžete provést pomocí volby -f příkazového řádku.
ping -f howtoforge.com
Zde je to, co o této možnosti říkají oficiální dokumenty:
Pro každou ECHO_REQUEST odeslanou tečku ``.'' je vytištěno
, zatímco pro kdykoli ECHO_REPLY přijaté je vytištěno backspace
. To poskytuje rychlé zobrazení toho, kolik paketů je
zahozeno. Pokud interval není zadán, nastaví interval na
nulu a pakety budou vycházet tak rychle, jak se vracejí, nebo o jednou?
snižuje se krát za sekundu, podle toho, co je více. Pouze superuživatel
může tuto možnost použít s nulovým intervalem.
O6. Jak zajistit, aby ping vytiskl časové razítko před každým řádkem?
Existuje možnost (-D), která vám to umožní. Časové razítko, které je vytištěno, je kombinací unixového času a mikrosekund (jako v gettimeofday).
ping -D howtoforge.com
Zde je snímek obrazovky této možnosti v akci:
O7. Jak nastavit pevný časový limit pro ping?
Můžete zadat časový limit pro ukončení příkazu ping. To můžete provést pomocí volby -w příkazového řádku, která vyžaduje číselnou hodnotu představující počet sekund.
Například následující příkaz ping se zastaví po 3 sekundách:
ping -w 3 howtoforge.com
Oficiální dokumenty tuto možnost vysvětlují takto:
Zadejte časový limit v sekundách před ukončením příkazu ping bez ohledu na
, kolik paketů bylo odesláno nebo přijato. V tomto případě ping
se nezastaví po odeslání paketu počtu, čeká buď na
vypršení lhůty, nebo dokud nebudou zodpovězeny početní sondy, nebo na nějaké
oznámení o chybě ze sítě.O8. Jak nastavit měkký časový limit pro ping?
Zatímco volba -w zajišťuje, že se ping v každém případě po vypršení lhůty zastaví, existuje další možnost (-W, v caps), která také zastaví ping, ale pouze v případě, že ze strany cíle není žádná odpověď.
ping -W 3 howtoforge.comZde je návod, jak manuálová stránka vysvětluje chování v tomto případě:
Čas čekání na odpověď v sekundách. Tato možnost ovlivní pouze
časový limit v případě absence jakékoli odpovědi, jinak ping čeká
dvě RTT.Závěr
Ping je důležitý nástroj, který se téměř jistě používá při ladění problémů souvisejících se sítí. V tomto tutoriálu jsme probrali některé hlavní funkce (možnosti příkazového řádku) tohoto nástroje. Procvičte si je a až budete hotovi, přejděte na stránku manuálu nástroje, kde se o něm dozvíte více.
Výukový program příkazu Linux sha1sum pro začátečníky (s příklady) Linux ifconfig Command Tutorial pro začátečníky (7 příkladů)Linux