Ping pozwala na sprawdzenie czy istnieje połączenie pomiędzy hostami testującym i testowanym. Umożliwia on także określenie jakości połączenia między nimi poprzez mierzenie liczby zgubionych pakietów oraz czasu potrzebnego na ich transmisję, czyli pomiaru latencji pakietów zwanej lagami. Ping korzysta z protokołu ICMP, wysyła pakiety ICMP Echo Request i odbiera ICMP Echo Reply. Obecnie ping dostępny jest praktycznie we wszystkich systemach operacyjnych w którym dostępny jest stos TCP/IP, choć ustawienia domyślne mogą się różnić.
Na początku 2003 roku niektórzy dostawcy Internetu zaczęli ustawiać tak swoje zapory sieciowe, aby nie przepuszczały komunikatów żądania echa protokołu ICMP. Działania te były spowodowane pojawieniem się komputerowego robaka “Welchia”, który zalewał sieć żądaniami echa w celu lokalizowania swych ofiar.
Kod:
root@xx:~# ping -c 5 hack.pl
PING hack.pl (89.161.184.235): 56 data bytes
64 bytes from 89.161.184.235: icmp_seq=0 ttl=61 time=24.373 ms
64 bytes from 89.161.184.235: icmp_seq=1 ttl=61 time=21.703 ms
64 bytes from 89.161.184.235: icmp_seq=2 ttl=61 time=12.832 ms
64 bytes from 89.161.184.235: icmp_seq=3 ttl=61 time=23.093 ms
64 bytes from 89.161.184.235: icmp_seq=4 ttl=61 time=14.517 ms
--- hack.pl ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max/stddev = 12.832/19.304/24.373/4.703 ms