Programping (anglickyPacketInterNetGroper) umožňuje prověřit funkčnost spojení mezi dvěma síťovými rozhraními (počítače,síťová zařízení) v počítačové síti, která používá rodinu protokolůTCP/IP.ping při své činnosti periodicky odesíláIP datagramy a očekává odezvu protistrany. Při úspěšném obdržení odpovědi vypíše délku zpoždění (latenci) a na závěrstatistický souhrn.
Parametrem programuping jedoménové jméno neboIP adresa síťového rozhraní, jehož dostupnost chceme prověřit. Je-li uvedeno doménové jméno, je nejprve přeloženo pomocíDNS na IP adresu. Program využívá zprávyEcho Request (typ 8, výzva) aEcho Reply (typ 0, odpověď) protokoluICMP. Výzvy jsou odesílány na cílovou IP adresu a ve stanoveném limitu se očekává odpověď (typicky 3 sekundy). Jednotlivé výzvy obsahují čísla (icmp_seq), podle kterých je možné identifikovat jednotlivé odpovědi nebo jejich ztrátu. Program průběžně vypisuje, které odpovědi již došly a s jakým zpožděním (latencí). Latence je delší, pokud je přenášený datagram větší. Proto pokud je potřeba získat reálnou představu o odezvě i pro delší datagramy (např. v prostředí bezdrátových sítí, kde je u dlouhých datagramů větší pravděpodobnost výskytu rušení a tím i nutnosti přenášet datagram znovu), je nutné ručně uvést delší délku pingu. Nemá však smysl délku zvětšovat nad velikostMTU (obvykle 1500 bajtů), avšak obvykle je používána délka pouze 1440 bajtů, aby nedošlo kfragmentaci datagramů vlivem případného tunelování.
V systému může být nástrojping6 nebo je možné mezi protokolyIPv4 aIPv6 možné přepínat parametry (v Linuxu-4,-6, ve Windows pak/4 nebo/6).
$ ping cs.wikipedia.orgPING rr.pmtpa.wikimedia.org (66.230.200.100) 56(84) bytes of data.64 bytes from rr.pmtpa.wikimedia.org (66.230.200.100): icmp_seq=0 ttl=49 time=193 ms64 bytes from rr.pmtpa.wikimedia.org (66.230.200.100): icmp_seq=1 ttl=49 time=184 ms64 bytes from rr.pmtpa.wikimedia.org (66.230.200.100): icmp_seq=2 ttl=49 time=179 ms64 bytes from rr.pmtpa.wikimedia.org (66.230.200.100): icmp_seq=3 ttl=49 time=181 ms64 bytes from rr.pmtpa.wikimedia.org (66.230.200.100): icmp_seq=4 ttl=49 time=192 ms64 bytes from rr.pmtpa.wikimedia.org (66.230.200.100): icmp_seq=5 ttl=49 time=182 ms64 bytes from rr.pmtpa.wikimedia.org (66.230.200.100): icmp_seq=6 ttl=49 time=176 ms--- rr.pmtpa.wikimedia.org ping statistics ---7 packets transmitted, 7 received, 0% packet loss, time 6003msrtt min/avg/max/mdev = 176.643/184.297/193.533/5.889 ms, pipe 2
V příkladu byl výpis přerušen kombinací klávesCtrl +C po 7 vyslanýchpaketech na serverrr.pmtpa.wikimedia.org (anglickypackets transmitted). Odpovědi se „vrátily“ v průměrném čase 184,3 ms (anglickyreceived), žádný paket nebyl ztracen (anglickypacket loss). Nejkratší dosažený čas je 176,6 ms, průměrný 184,3 ms, nejdelší je 193,5 ms, střední odchylka 5,9 ms (anglickymdev). První řádek výpisu uvádíIP adresu (66.230.200.100) získanou převodem zdoménového jména na příkazovém řádku (cs.wikipedia.org) a také jméno získané zpětným převodem z IP adresy (rr.pmtpa.wikimedia.org, získáno z tzv.DNS PTR záznamů reverzní domény).
Výhodouunixových verzí je, že obvykle kontrolují i obsah vráceného datagramu, takže lze zjistit, jestli nedochází k jejich poškození.
C:\>ping cs.wikipedia.orgPříkazping na rr.knams.wikimedia.org [91.198.174.2] s délkou 32 bajtů:Odpověď od 91.198.174.2: bajty=32 čas=19ms TTL=60Odpověď od 91.198.174.2: bajty=32 čas=19ms TTL=60Odpověď od 91.198.174.2: bajty=32 čas=19ms TTL=60Odpověď od 91.198.174.2: bajty=32 čas=19ms TTL=60Statistika ping pro 91.198.174.2:Pakety: Odeslané = 4, Přijaté = 4, Ztracené = 0 (ztráta 0%),Přibližná doba do přijetí odezvy v milisekundách:Minimum = 19ms, Maximum = 19ms, Průměr = 19ms
Standardní programping v systémuMicrosoft Windows neumožňuje měřit čas pod 1 milisekundu (zobrazuječas<1ms) nebo s přesností větší než 1 ms (nezobrazuje desetinná místa). Pro přesnější měření lze použít nástroje třetích stran, například programTrue Ping. V systému Windows skončí programping automaticky po 4 pokusech (lze vypnout přepínačem-t).