Co to jest ping?

Ping(Packet InterNet Groper) to narzędzie do administrowania siecią komputerową używane do testowania osiągalności hosta w sieci protokołu internetowego (IP) oraz do mierzenia czasu podróży w obie strony dla wiadomości wysyłanych z hosta, z którego pochodzi do komputera docelowego iz powrotem.

Ping polega na wysyłaniu pakietów żądań echa protokołu ICMP (Internet Control Message Protocol) do hosta docelowego i oczekiwaniu na odpowiedź echa ICMP. Mierzy czas podróży w obie strony od transmisji do odbioru, zgłaszając błędy i utratę pakietów.

Polecenie i parametry ping systemu Unix/Linux

$ ping -help
Usage: ping [-LRUbdfnqrvVaAD] [-c count] [-i interval] [-w deadline]
            [-p pattern] [-s packetsize] [-t ttl] [-I interface]
            [-M pmtudisc-hint] [-m mark] [-S sndbuf]
            [-T tstamp-options] [-Q tos] [hop1 ...] destination

Wiele systemów posiada towarzyszące narzędzie ping6 do podobnych testów w sieciach z protokołem internetowym w wersji 6 (IPv6).

$ ping6 -help
Usage: ping6 [-LUdfnqrvVaAD] [-c count] [-i interval] [-w deadline]
             [-p pattern] [-s packetsize] [-t ttl] [-I interface]
             [-M pmtudisc-hint] [-S sndbuf] [-F flowlabel] [-Q tclass]
             [[-N nodeinfo-option] ...]
             [hop1 ...] destination

Polecenie i parametry ping systemu Windows

C:\>ping /?

Usage: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
            [-r count] [-s count] [[-j host-list] | [-k host-list]]
            [-w timeout] [-R] [-S srcaddr] [-4] [-6] target_name

Options:
    -t             Ping the specified host until stopped.
                   To see statistics and continue - type Control-Break;
                   To stop - type Control-C.
    -a             Resolve addresses to hostnames.
    -n count       Number of echo requests to send.
    -l size        Send buffer size.
    -f             Set Don't Fragment flag in packet (IPv4-only).
    -i TTL         Time To Live.
    -v TOS         Type Of Service (IPv4-only. This setting has been deprecated
                   and has no effect on the type of service field in the IP Header).
    -r count       Record route for count hops (IPv4-only).
    -s count       Timestamp for count hops (IPv4-only).
    -j host-list   Loose source route along host-list (IPv4-only).
    -k host-list   Strict source route along host-list (IPv4-only).
    -w timeout     Timeout in milliseconds to wait for each reply.
    -R             Use routing header to test reverse route also (IPv6-only).
    -S srcaddr     Source address to use.
    -4             Force using IPv4.
    -6             Force using IPv6.

Przykładowy test ping

Poniżej przedstawiono wynik działania polecenia ping pod Linuksem w celu wysłania pięciu sond do hosta docelowego www.yahoo.com.

$ ping -c 5 www.yahoo.com
PING www.yahoo.com (116.214.12.74) 56(84) bytes of data.
64 bytes from 116.214.12.74: icmp_req=1 ttl=47 time=22.8 ms
64 bytes from 116.214.12.74: icmp_req=2 ttl=47 time=22.3 ms
64 bytes from 116.214.12.74: icmp_req=3 ttl=47 time=22.8 ms
64 bytes from 116.214.12.74: icmp_req=4 ttl=47 time=22.2 ms
64 bytes from 116.214.12.74: icmp_req=5 ttl=47 time=22.2 ms

--- www.yahoo.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 22.228/22.503/22.853/0.316 ms

Narzędzie podsumowuje swoje wyniki po zakończeniu sond ping. Najkrótszy czas podróży w obie strony (RTT) wyniósł 22,228 ms, średni 22,503 ms, a maksymalny 22,853 ms. Pomiar miał odchylenie standardowe 0,316 ms.

Inne zasoby na temat ping