Ping (računalništvo)

Iz Wikipedije, proste enciklopedije
Skoči na: navigacija, iskanje

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 mrežni administratorji takšne zahtevke zavračajo na požarnih zidovih, saj predstavljajo ranljivost.

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 preplavi celotno spletno povezljivost z zahtevki ali pa povzroči, da zaradi odgovarjanja žrtve na zahtevke, obremeni strežnik in s tem počasnejše delovanje[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 www.wikipedia.org -c 5

PING www.wikipedia.org (91.198.174.192) 56(84) bytes of data.
64 bytes from text-lb.esams.wikimedia.org (91.198.174.192): icmp_seq=1 ttl=55 time=41.6 ms
64 bytes from text-lb.esams.wikimedia.org (91.198.174.192): icmp_seq=2 ttl=55 time=36.6 ms
64 bytes from text-lb.esams.wikimedia.org (91.198.174.192): icmp_seq=3 ttl=55 time=39.0 ms
64 bytes from text-lb.esams.wikimedia.org (91.198.174.192): icmp_seq=4 ttl=55 time=36.0 ms
64 bytes from text-lb.esams.wikimedia.org (91.198.174.192): icmp_seq=5 ttl=55 time=36.8 ms

--- www.wikipedia.org ping statistics ---

5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 36.036/38.031/41.609/2.081 ms

Orodje na koncu povzame rezultate 5. poslanih ping paketov. Najkrajša povratna pot je bila 36,063ms, povprečni čas 38,031ms, in največja vrednost je 41,609 ms. Merjenje je imelo standardni odklon 2.081 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.