Ping (računalništvo)

Iz Wikipedije, proste enciklopedije
Jump to navigation Jump to search

Ping (ang. Ping) je orodje za nadzorovanje kakovosti računalniškega omrežja. Uporablja se za testiranje razpoložljivosti ciljnega računalnika na IP[1] (Internet Protocol) oziroma omrežni plasti po OSI modelu[2] in za merjenje časa, potrebnega za povratno sporočilo, poslano iz gostitelja na ciljni računalnik. Ime izhaja iz terminologije aktivnega sonarja, ki pošlje impulz zvoka in posluša za odmevom[3].

Zgodovina[uredi | uredi kodo]

Ping je orodje, ki ga je Michael John Muuss[4] razvil decembra 1983, kot sredstvo za reševanje problemov v računalniških omrežjih. Navdihnil ga je komentar David Millsa o uporabi echo paketov za diagnosticiranje in merjenje IP omrežja. Muuss je orodje poimenoval po zvoku, ki ga naredi sonar, saj je metodologija delovanja orodja podobna uporabi aktivnega sonarja[5].

RFC 1122[6] določa, da mora vsak gostitelj (host), ki sprejme zahtevo odmeva, poslati odmev v zameno. Danes omrežni administratorji zaradi zmotnega prepričanja, da predstavljajo ranljivost, takšne zahtevke pogosto zavračajo na požarnih zidovih.

Delovanje[uredi | uredi kodo]

Ping orodje deluje tako, da pošlje ICMP (ang. Internet Control Message Protocol, RFC 792[7]) ping pakete ciljnemu gostitelju in čaka na odgovor. Dodatno izvaja merjenje časa od pošiljanja do prejema odzivnega paketa (čas povratka) in zapis, če pride do izgube paketov. Rezultati testa so objavljeni v statistični obliki, vključno z minimumom in maksimumom časa potrebnega za povratno pot IP paketa[8].

Odvisno od zastavice, ki spremlja ukaz ping, se lahko izvajajo različne možnosti, ki omogočajo posebne operativne načine. Primeri možnosti so (velja v OS linux):

  • Opredelitev velikosti poslanega IP paketa: Pri uporabi ukaza ping uporabimo zastavico -s in s tem določimo velikost poslanega IP paketa po omrežju v bajtih.
  • Definiranje intervala med poslanim ping zahtevkom: Pri uporabi ukaza ping uporabimo zastavico -i in s tem določimo čas v sekundah med posameznim poslanim zahtevkom po odgovoru.
  • Število preverjanj, ki naj se izvedejo: Pri uporabi ukaza ping uporabimo zastavico -c in s tem določimo število ponovitev ukaza (glej spodnji primer).

Ping orodje je mogoče zlorabiti kot preprosto obliko zlonamernega napada za zavrnitev storitve (ang. Denial-of-service) v obliki ping poplav (ang. Ping flood). Napad deluje tako, da napadalec iz več računalnikov, po navadi tako imenovanih zombijev (ang. Zombie), zasuje računalnik žrtve z zahtevki po odgovoru. Posledica takšnega napada je, da žrtvi z zahtevki preplavi celotno omrežno povezljivost, ali pa upočasni njeno delovanje, ker se ta poleg svojega normalnega bremena mora dodatno ukvarjati še z odgovarjanjem na zahtevke[9].

V naslednjem primeru je ukaz ping uporabljen na operacijskem sistemu linux za preverjanje gostitelja spletne strani www.wikipedia.org. Z ukazom ping smo poslali 5 zahtevkov:

$ ping -c 5 www.wikipedia.org

PING www.wikipedia.org(text-lb.esams.wikimedia.org (2620:0:862:ed1a::1)) 56 data bytes
64 bytes from text-lb.esams.wikimedia.org (2620:0:862:ed1a::1): icmp_seq=1 ttl=58 time=17.9 ms
64 bytes from text-lb.esams.wikimedia.org (2620:0:862:ed1a::1): icmp_seq=2 ttl=58 time=18.2 ms
64 bytes from text-lb.esams.wikimedia.org (2620:0:862:ed1a::1): icmp_seq=3 ttl=58 time=18.0 ms
64 bytes from text-lb.esams.wikimedia.org (2620:0:862:ed1a::1): icmp_seq=4 ttl=58 time=18.0 ms
64 bytes from text-lb.esams.wikimedia.org (2620:0:862:ed1a::1): icmp_seq=5 ttl=58 time=18.0 ms

--- www.wikipedia.org ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 17.916/18.057/18.215/0.176 ms

Orodje na koncu povzame rezultate 5 poslanih ping paketov. Najhitrejši odziv smo dobili v 17,916 ms, povprečni čas je bil 18,057 ms in največja vrednost 18,215 ms. Merjenje je imelo standardni odklon 0,176 ms.

Sklici in opombe[uredi | uredi kodo]

  1. ^ Postel, J. "Internet Protocol". tools.ietf.org. Pridobljeno dne 2017-01-08. 
  2. ^ "List of network protocols (OSI model)". Wikipedia (angleščina). 2017-01-05. 
  3. ^ Ahačič (5. maj 2008). "Sonar" (PDF). Petra. Pridobljeno dne 11. januar 2017. 
  4. ^ "Michael John Muuss". ftp.arl.army.mil. Pridobljeno dne 2017-01-11. 
  5. ^ "Internet Ping Command, Test". www.livinginternet.com. Pridobljeno dne 2017-01-11. 
  6. ^ Braden, R. "Requirements for Internet Hosts - Communication Layers". tools.ietf.org. Pridobljeno dne 2017-01-08. 
  7. ^ Postel, J. "Internet Control Message Protocol". tools.ietf.org. Pridobljeno dne 2017-01-08. 
  8. ^ "Ping - How does it work?". 2012-09-11. Pridobljeno dne 2017-01-11. 
  9. ^ "Ping flood". www.incapsula.com. Pridobljeno dne 2017-01-11.