ping
command je jedním z nejpoužívanějších nástrojů pro odstraňování problémů, testování a diagnostiku problémů se síťovým připojením.
Ping funguje tak, že odešle jeden nebo více balíčků ICMP (Internet Control Message Protocol) Echo Request na zadanou cílovou IP v síti a čeká na odpověď. Když cíl přijme balíček, odpoví odezvou ICMP.
Pomocí ping
můžete určit, zda je vzdálená cílová IP aktivní nebo neaktivní. Můžete také zjistit zpáteční zpoždění při komunikaci s cílem a zkontrolovat, zda nedošlo ke ztrátě paketů.
ping
je součástí iputils
(nebo iputils-ping
), který je předinstalovaný na téměř všech distribucích Linuxu. Je také k dispozici na Windows, macOS a FreeBSD.
Jak používat příkaz Ping #
Syntaxe příkazu ping je následující:
ping [OPTIONS] DESTINATION
Abychom lépe ilustrovali, jak funguje příkaz ping, odešleme příkaz ping na google.com
:
ping google.com
Výstup bude vypadat nějak takto:
PING google.com (172.217.22.206) 56(84) bytes of data.
64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=1 ttl=53 time=40.2 ms
64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=2 ttl=53 time=41.8 ms
64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=3 ttl=53 time=47.4 ms
64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=4 ttl=53 time=41.4 ms
^C
--- google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 7ms
rtt min/avg/max/mdev = 40.163/42.700/47.408/2.790 ms
ping
příkaz přeloží název domény na IP adresu a začne odesílat ICMP balíčky na cílovou IP. Pokud je cílová IP dosažitelná, odpoví zpět a příkaz ping vytiskne řádek, který obsahuje následující pole:
- Počet datových bajtů. Výchozí hodnota je 56, což znamená 64 datových bajtů ICMP –
64 bytes
. - IP adresa cíle –
from muc11s01-in-f14.1e100.net (172.217.22.206)
. - Pořadové číslo ICMP pro každý paket.
icmp_seq=1
. - Čas žít. -
ttl=53
- Jak funguje TTL?. - Doba pingu, měřená v milisekundách, což je doba zpáteční cesty, za kterou paket dosáhne hostitele, a odezva na návrat k odesílateli. -
time=41.4 ms
.
Ve výchozím nastavení je interval mezi odesláním nového paketu jedna sekunda.
ping
příkaz bude pokračovat v odesílání ICMP balíků na cílovou IP adresu, dokud neobdrží přerušení. Chcete-li příkaz zastavit, stačí stisknout Ctrl+C
kombinace kláves.
Jakmile se příkaz zastaví, zobrazí statistiku, včetně procenta ztráty paketů. Ztráta paketů znamená, že data byla někde v síti zahozena, což naznačuje problém v síti. Pokud dojde ke ztrátě paketu, můžete použít traceroute
příkaz k identifikaci místa ztráty paketu.
Pokud ping
nevrací odpověď, znamená to, že síťová komunikace není navázána. Když k tomu dojde, nemusí to vždy znamenat, že cílová IP není aktivní. Někteří hostitelé mohou mít firewall, který blokuje provoz ICMP nebo je nastaven tak, aby neodpovídal na požadavky ping.
V případě úspěchu ping
příkaz skončí s kódem 0
. Jinak se ukončí s kódem 1
nebo 2
. To může být užitečné při použití ping
nástroj ve skriptu shellu.
V následujících částech se podíváme na nejčastěji používané ping
možnosti příkazů.
Uveďte počet paketů #
Jak již bylo zmíněno, ve výchozím nastavení ping
bude pokračovat v odesílání ICMP balíků, dokud neobdrží signál přerušení. Chcete-li zadat počet balíčků Echo Request, které mají být odeslány a po kterých se ping ukončí, použijte -c
možnost následovaná počtem balíčků:
ping -c 1 DESTINATION
Například ping na linuxize.com
pouze jednou byste použili:
ping -c 1 linuxize.com
Upřesněte zdrojové rozhraní #
Výchozí chování ping
příkaz je odesílat balíčky ICMP výchozí cestou. Pokud máte na svém počítači více rozhraní, můžete specifikovat zdrojové rozhraní pomocí -I
možnost:
ping -I INTERFACE_NAME DESTINATION
Následující příkaz odešle příkaz ping na linuxize.com
pomocí em2
jako zdrojové rozhraní:
ping -I em2 linuxize.com
Určete internetový protokol #
Když spustíte ping
použije buď IPv4 nebo IPv6, v závislosti na nastavení DNS vašeho počítače.
Chcete-li vynutit ping
pro použití IPv4 předejte -4
nebo použijte jeho alias ping4
:
ping -4 DESTINATION
U IPv6 předejte -6
nebo použijte ping6
:
ping -6 DESTINATION
Závěr č.
ping
je síťový nástroj příkazového řádku, který vám umožňuje otestovat konektivitu na úrovni IP daného hostitele v síti.
Chcete-li zobrazit všechny dostupné možnosti ping
zadejte man ping
ve vašem terminálu.
Pokud máte nějaké dotazy nebo zpětnou vazbu, neváhejte zanechat komentář.