Ping jest jednym z najpopularniejszych najprostszych i najbardziej przydatnych narzędzi służących do diagnozowania połączeń sieciowych opartych o protokół TCP/IP. Implementację ping można odnaleźć w każdym systemie operacyjnym obsługującym protokół TCP/IP.

Funkcjonalność ping’a opiera się na bardzo prostej zasadzie działania, polegającej na wysłaniu z lokalnego komputera pakietu ICMP ECHO_REQUEST do maszyny zdalnej, a następnie oczekiwaniu na odpowiedź w postaci pakietu ICMP ECHO_REPLY.

Przykład zastosowania narzędzia ping:

  • w systemie Windows:

W pierwszej kolejności należy uruchomić wiersz poleceń. We wszystkich wersjach systemu Windows, można tego dokonać przy pomocy kombinacji klawiszy Windows + R, a następnie w okienku „Uruchamianie” należy wpisać „cmd” i nacisnąć klawisz Enter. W otwartym wierszu polecenia należy wpisać ping oraz podać nazwę bądź adres IP serwera:

  • przykład:

# ping 185.182.96.220
Pinging 185.182.96.220 with 32 bytes of data:
 Reply from 185.182.96.220: bytes=32 time=9ms TTL=254
 Reply from 185.182.96.220: bytes=32 time=11ms TTL=254
 Reply from 185.182.96.220: bytes=32 time=9ms TTL=254
 Reply from 185.182.96.220: bytes=32 time=10ms TTL=254
 Ping statistics for 185.182.96.220:
     Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
 Approximate round trip times in milli-seconds:
     Minimum = 9ms, Maximum = 11ms, Average = 10ms

  • przykład:

# ping 8.8.8.8
Pinging 8.8.8.8 with 32 bytes of data:
 Reply from 8.8.8.8: bytes=32 time=6ms TTL=54
 Reply from 8.8.8.8: bytes=32 time=6ms TTL=54
 Reply from 8.8.8.8: bytes=32 time=6ms TTL=54
 Reply from 8.8.8.8: bytes=32 time=6ms TTL=54
 Ping statistics for 8.8.8.8:
     Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
 Approximate round trip times in milli-seconds:
     Minimum = 6ms, Maximum = 6ms, Average = 6ms

Jeżeli nie można połączyć się z serwerem, narzędzie ping zwróci dla każdego zapytania komunikat Request timed out (Upłynął limit czasu żądania):

# ping 185.182.96.220 
Pinging 185.182.96.220 with 32 bytes of data:
 Request timed out.
 Request timed out.
 Request timed out.
 Request timed out.
 Ping statistics for 185.182.96.220:
     Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

  • w systemie Linux:

  • przykład:

# ping 185.182.96.220
PING 185.182.96.220 (185.182.96.220) 56(84) bytes of data.
 64 bytes from 185.182.96.220: icmp_seq=1 ttl=255 time=0.776 ms
 64 bytes from 185.182.96.220: icmp_seq=2 ttl=255 time=1.88 ms
 64 bytes from 185.182.96.220: icmp_seq=3 ttl=255 time=0.612 ms
 64 bytes from 185.182.96.220: icmp_seq=4 ttl=255 time=0.608 ms
 64 bytes from 185.182.96.220: icmp_seq=5 ttl=255 time=0.547 ms
 64 bytes from 185.182.96.220: icmp_seq=6 ttl=255 time=1.08 ms
 --- 185.182.96.220 ping statistics ---
 12 packets transmitted, 12 received, 0% packet loss, time 11147ms
 rtt min/avg/max/mdev = 0.547/0.901/1.884/0.345 ms

Narzędziem ping można uzyskać podstawowe informacje dotyczące stanu transmisji pomiędzy lokalnym komputerem, a urządzeniem zdalnym:

  • Czy zdalne urządzenie jest podłączone oraz czy odpowiada na żądanie ECHO_REQUEST za pomocą skonstruowanego pakietu ECHO_REPLY.
  • Czy istnieje (a jeśli tak to ile wynosi) opóźnienie w uzyskaniu odpowiedzi wyrażane w milisekundach.
  • Jaka część ogólnej liczby pakietów dociera do urządzenia zdalnego, a jaka ulega zagubieniu. Opcja ta wyrażana jest w procentach, jej wartość wyższa od zera wskazuje na problemy techniczne z transmisją.

Brak odpowiedzi na polecenie ping może oznaczać:

  • Niepoprawny adres IP
  • Brak połączenia między hostami
  • Blokada pakietów ICMP