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