Jak již víte, příkaz ping se používá ke zjištění, zda je rovnocenný hostitel/brána dosažitelná.
Pokud si myslíte, že ping je tak jednoduchý příkaz a proč potřebuji 15 příkladů, měli byste si přečíst zbytek článku.
Příkaz Ping poskytuje mnohem více možností, než jaké už možná znáte.
Příklad pingu 1. Zvyšte nebo zkraťte časový interval mezi pakety
Ve výchozím nastavení ping čeká 1 sekundu před odesláním dalšího paketu. Toto můžete zvýšit nebo snížit pomocí volby -i, jak je uvedeno níže.
Zvýšení časového intervalu pingu
Příklad:Před odesláním dalšího paketu počkejte 5 sekund.
$ ping -i 5 IP
Snížit časový interval pingu
Příklad:Před odesláním dalšího paketu počkejte 0,1 sekundy.
# ping -i 0.1 IP
Poznámka: Pouze super uživatel může zadat interval menší než 0,2 sekundy. Pokud ne, zobrazí se následující chybová zpráva.
$ ping -i 0.1 127.0.0.1 PING 0 (127.0.0.1) 56(84) bytes of data. ping: cannot flood; minimal interval, allowed for user, is 200ms
Příklad pingu 2. Zkontrolujte, zda je rozhraní místní sítě v provozu
Než zkontrolujete, zda je rovnocenný počítač dosažitelný, nejprve zkontrolujte, zda je místní síť v provozu pomocí některé z následujících 3 metod.
Příkaz ping na localhost pomocí nuly (0)
Toto je pravděpodobně nejjednodušší a nejjednodušší způsob, jak pingnout místního hostitele
$ ping 0 PING 0 (127.0.0.1) 56(84) bytes of data. 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.024 ms ^C
Příkaz ping na localhost pomocí názvu
$ ping localhost PING localhost (127.0.0.1) 56(84) bytes of data. 64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.051 ms 64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.055 ms ^C --- localhost ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 999ms rtt min/avg/max/mdev = 0.051/0.053/0.055/0.002 ms
Ping na localhost pomocí ip
$ ping 127.0.0.1
Chcete-li ukončit příkaz ping, odešlete signál SIGINT stisknutím kláves CTRL+C. Pokud jste nezadali žádnou možnost, aby se ping automaticky ukončil, ukončíte se pomocí CTRL+C ( SIGINT ), která zobrazí statistiku a poté ukončí proces pingu. Když vše funguje správně, mělo by to říkat ‚0% ztráta paketů‘
2 packets transmitted, 2 received, 0% packet loss, time 999ms rtt min/avg/max/mdev = 0.051/0.053/0.055/0.002 ms
Příklad pingu 3. Odešlete N paketů a zastavte
Odešlete N paketů zadaných s volbou -c a poté zastavte. Tímto způsobem může příkaz ping ukončit automaticky namísto stisknutí CTRL+C pro ukončení.
V následujícím příkladu příkaz ping odešle 5 paketů a čeká na odpověď od cílového hostitele. Ping se ukončí po obdržení odpovědi nebo chyby.
$ ping -c 5 google.com PING google.com (74.125.45.100) 56(84) bytes of data. 64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=1 ttl=44 time=731 ms 64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=2 ttl=44 time=777 ms 64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=3 ttl=44 time=838 ms 64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=4 ttl=44 time=976 ms 64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=5 ttl=44 time=1071 ms --- google.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4216ms rtt min/avg/max/mdev = 731.039/879.129/1071.050/126.625 ms
Příklad pingu 4. Zobrazit verzi a ukončit
Zobrazte aktuální verzi programu ping pomocí volby -V.
$ ping -V ping utility, iputils-sss20071127
Příklad pingu 5. Zaplavte síť
Super uživatelé mohou odeslat sto nebo více paketů za sekundu pomocí volby -f. Při odeslání paketu vytiskne '.' a při přijetí paketu se vytiskne zpětná mezera.
Jak je ukázáno níže, ping -f odeslal během několika sekund více než 400 000 paketů.
# ping -f localhost PING localhost (127.0.0.1) 56(84) bytes of data. .^C --- localhost ping statistics --- 427412 packets transmitted, 427412 received, 0% packet loss, time 10941ms rtt min/avg/max/mdev = 0.003/0.004/1.004/0.002 ms, ipg/ewma 0.025/0.004 ms
Příklad pingu 6. Slyšitelný ping:Ozve se pípnutí, když je protějšek dosažitelný
Tato možnost je užitečná pro správce systému při odstraňování problémů. Není nutné, abyste se po každé změně dívali na výstup pingu. Můžete pokračovat v práci se změnami, a když bude vzdálený počítač dosažitelný, automaticky uslyšíte pípnutí.
$ ping -a IP
Poznámka: Může vydávat pípnutí pouze z terminálu číslo 1 až 7 a terminálu gnome (nebude fungovat v konzoli).
Příklad pingu 7. Zjistěte IP adresu
IP adresu můžete identifikovat pomocí názvu hostitele, jak je uvedeno níže.
$ ping -c 1 google.com PING google.com (74.125.67.100) 56(84) bytes of data. 64 bytes from gw-in-f100.google.com (74.125.67.100): icmp_seq=1 ttl=43 time=287 ms --- google.com ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 287.903/287.903/287.903/0.000 ms
Příklad příkazu Ping 8. Tisk pouze souhrnné statistiky příkazu Ping
Použijte volbu -q k zobrazení pouze souhrnu statistik ping, jak je uvedeno níže.
$ ping -c 5 -q 127.0.0.1 PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data. --- 127.0.0.1 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 3998ms rtt min/avg/max/mdev = 0.047/0.053/0.061/0.009 ms
Příklad pingu 9. Změna velikosti paketu ping
Velikost paketu příkazu ping můžete změnit pomocí volby -s.
Příklad:Změňte výchozí velikost paketu z 56 na 100.
$ ping -s 100 localhost PING localhost (127.0.0.1) 100(128) bytes of data. 108 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.022 ms 108 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.021 ms 108 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.020 ms ^C --- localhost ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 1998ms rtt min/avg/max/mdev = 0.020/0.021/0.022/0.000 ms
Ping Packet Size
Když ve výše uvedeném příkladu nastavíme velikost paketu na 100, zobrazí se na výstupu ‚128 bajtů‘. Důvodem je velikost hlavičky paketu Ping, která je 28 bajtů. Pokud tedy zadáte velikost paketu jako 100, bude k němu přidáno 28 bajtů pro záhlaví a bude odesláno 128 bajtů.
Odeslané bajty ping =velikost paketu ping + velikost paketu záhlaví ping (28 bajtů)
Příklad pingu 10. Časový limit -w
Volba Ping -w určuje termín ukončení výstupu ping. Toto určuje celkový počet sekund, po které má příkaz ping odesílat pakety vzdálenému hostiteli.
Následující příklad bude ping po dobu 5 sekund. tj. příkaz ping se ukončí po 5 sekundách bez ohledu na to, kolik paketů bylo odesláno nebo přijato.
$ ping -w 5 localhost
Poznámka: Když zadáte jak -w, tak -c, ukončí příkaz ping podle toho, co nastane dříve.
Příklad pingu 11. Online ping
Pingujte z různých míst a zkontrolujte dostupnost (dostupnost nebo čas dosažení) vašeho serveru z různých míst.
Pokud chcete provést online ping, zkuste jen ping.
Příklad pingu 12. Volba -w nebo -c Ukončí ping
$ ping -c 4 0 -w 2 PING 0 (127.0.0.1) 56(84) bytes of data. 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.064 ms 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.060 ms 64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.058 ms --- 0 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 1998ms rtt min/avg/max/mdev = 0.058/0.060/0.064/0.009 ms $ ping -c 4 0 -w 10 PING 0 (127.0.0.1) 56(84) bytes of data. 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.063 ms 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.060 ms 64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.055 ms 64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.061 ms --- 0 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 2997ms rtt min/avg/max/mdev = 0.055/0.059/0.063/0.009 ms
Příklad pingu 13. Kratší statistika pomocí SIGQUIT
Zatímco ping tiskne stav jednotlivých paketů, pokud chcete zobrazit kratší statistiky, můžete použít tuto techniku.
StisknutímCTRL+| (Klávesa Control následovaná symbolem svislé čáry) pro zobrazuje souhrn mezi tím a pokračuje v procesu odesílání a přijímání paketů.
$ ping -w 100 localhost PING localhost (127.0.0.1) 56(84) bytes of data. 64 bytes from localhost (127.0.0.1): icmp_seq=10 ttl=64 time=0.021 ms 64 bytes from localhost (127.0.0.1): icmp_seq=11 ttl=64 time=0.022 ms 11/11 packets, 0% loss, min/avg/ewma/max = 0.020/0.022/0.022/0.024 ms 64 bytes from localhost (127.0.0.1): icmp_seq=12 ttl=64 time=0.021 ms 64 bytes from localhost (127.0.0.1): icmp_seq=13 ttl=64 time=0.022 ms 64 bytes from localhost (127.0.0.1): icmp_seq=14 ttl=64 time=0.021 ms 64 bytes from localhost (127.0.0.1): icmp_seq=15 ttl=64 time=0.021 ms 19/19 packets, 0% loss, min/avg/ewma/max = 0.020/0.022/0.022/0.024 ms 64 bytes from localhost (127.0.0.1): icmp_seq=31 ttl=64 time=0.022 ms 64 bytes from localhost (127.0.0.1): icmp_seq=32 ttl=64 time=0.022 ms 32/32 packets, 0% loss, min/avg/ewma/max = 0.020/0.022/0.022/0.027 ms 64 bytes from localhost (127.0.0.1): icmp_seq=33 ttl=64 time=0.023 ms ..
Příklad pingu 14. Zadejte cestu pro ping k odeslání paketu
Můžete také určit, kterou cestou má ping poslat paket do cíle.
$ ping hop1 hop2 hop3 .. hopN destination
$ ping 192.168.3.33 192.168.7.1 192.168.4.45
Poznámka: Pokud jeden z přeskoků na cestě není dosažitelný, dojde k selhání pingu.
Příklad pingu 15. Zaznamenejte a vytiskněte trasu, jak ECHO_REQUEST odeslal a ECHO_REPLY přijal
Zaznamenává a tiskne síťovou trasu, kterou je paket odeslán a přijat. To je užitečné pro síťové inženýry, kteří chtějí vědět, jak jsou pakety odesílány a přijímány.
$ ping -R 192.168.1.63 PING 192.168.1.63 (192.168.1.63) 56(84) bytes of data. 64 bytes from 192.168.1.63: icmp_seq=1 ttl=61 time=2.05 ms RR: 192.168.9.118 192.168.3.25 192.168.10.35 192.168.1.26 192.168.1.63 192.168.1.63 192.168.10.4 192.168.3.10 192.168.4.25 64 bytes from 192.168.1.63: icmp_seq=2 ttl=61 time=2.00 ms (same route)