ping to najprostszy test „czy żyje?” w sieci. Wysyła do hosta pakiety ICMP Echo Request, czeka na odpowiedzi Echo Reply i mierzy czas, jaki minął między nimi (RTT, round-trip time). Dzięki temu w kilka sekund sprawdzisz, czy serwer jest osiągalny, czy działa DNS, czy łącze nie gubi pakietów i jak bardzo „leży” trasa do celu. To pierwsze narzędzie, po które sięga admin, gdy „internet nie działa”.
Składnia i najważniejsze opcje
Podstawowa forma: ping [-c liczba] [-i interwał] [-W timeout] host
-c liczba— wyślij dokładnie tyle pakietów i zakończ (bez tego ping leci w nieskończoność, aż wciśniesz Ctrl+C).-i interwał— odstęp w sekundach między pakietami (domyślnie 1 s). Wartości poniżej 0,2 s wymagają uprawnień roota.-W timeout— ile sekund czekać na odpowiedź; działa głównie gdy brak odpowiedzi (przy odpowiedziach ping czeka 2x RTT).0oznacza brak limitu.-w deadline— łączny limit czasu w sekundach dla całegoping, niezależnie od liczby pakietów.-s rozmiar— rozmiar danych w pakiecie w bajtach (domyślnie 56, co daje 64 B z nagłówkiem ICMP).-n— bez rozwiązywania nazw, same adresy IP (szybciej i bez zaciemniania przez DNS).-4/-6— wymuś IPv4 albo IPv6.
Przykłady użycia
ping -c 4 google.com— wyślij 4 pakiety i pokaż podsumowanie (klasyczny szybki test).ping -c 100 -i 0.2 192.168.1.1— 100 pakietów co 0,2 s, żeby wyłapać gubione pakiety na lokalnej bramie.ping -W 2 -c 3 10.0.0.5— krótka cierpliwość: czekaj maks. 2 s na odpowiedź, idealne do skryptów.ping -c 5 -s 1472 8.8.8.8— test większym pakietem, przydatny przy diagnozie problemów z MTU.ping -n -c 4 1.1.1.1— bez DNS, gdy podejrzewasz, że to właśnie rozwiązywanie nazw nie działa.
Częste błędy i pułapki
Najczęstsza pomyłka: zakładanie, że brak odpowiedzi = host wyłączony. Wiele firewalli po prostu blokuje ICMP, więc serwer może żyć i obsługiwać HTTP, a na ping milczeć. Druga pułapka to różnice między systemami. W Windowsie liczbę pakietów ustawiasz przez -n (nie -c), a -t oznacza „pinguj w nieskończoność”. Na macOS/BSD -W podaje się w milisekundach, nie w sekundach jak w Linuksie (iputils) — łatwo o tym zapomnieć i czekać 1000x dłużej. Pamiętaj też, że -w (mały deadline całości) i -W (timeout na pojedynczą odpowiedź) to dwie różne rzeczy.
Powiązane komendy: traceroute i mtr (śledzenie trasy), dig oraz nslookup (diagnostyka DNS), netstat i ss (połączenia), telnet i nc (sprawdzanie konkretnych portów).