Tikriausiai esate susidūrę su situacija, kai kompiuteryje staiga nutrūksta interneto ryšys; taip elgtis galima naudojant ADSL modemus, tolimojo ryšio "Wifi", GSM ir kitas panašias nepatikimas technologijas. Ar jūsų kompiuteryje veikia internetas, galite greitai sužinoti naudodami ping įrankį.
Tačiau jos taikymo sritis yra daug platesnė, ją naudoja tinklo administratoriai, norėdami patikrinti nutolusio tinklo mazgo prieinamumą, ji naudojama įvairiuose scenarijuose ir daug kur kitur. Šiame straipsnyje apžvelgsime ping komandą "Linux" sistemoje, papasakosime, kaip naudotis šia programa, kaip ji veikia, apžvelgsime jos parinktis ir funkcijas.
Komanda ping yra paprasta tinklo trikčių šalinimo priemonė. Ji leidžia patikrinti, ar nutolęs kompiuteris yra pasiekiamas, ar ne, ir viskas. Norėdama tai padaryti, programa patikrina, ar kompiuteris gali atsakyti į tinklo užklausas naudodamas ICMP protokolą. Tikiuosi, kad nereikia sakyti, jog visi duomenys tinklu perduodami mažais paketais. Programa perduoda nedidelį ICMP duomenų paketą ir tikisi atgal gauti atsakymo paketą; jei taip, laikoma, kad nutolęs kompiuteris yra pasiekiamas. ICMP, arba interneto valdymo pranešimų protokolas, yra IP protokolo priedas, naudojamas tarnybiniams ir klaidų pranešimams perduoti.
ICMP protokolu galima perduoti tik dviejų tipų paketus - pranešimus apie klaidas ir užklausų pranešimus. Savo ruožtu užklausų pranešimai skirstomi į:
Echo užklausos pranešimą;
Echo atsakymo pranešimą.
Toliau supraskime, ką daro komanda ping
. Išsiuntus ping
užklausą į nutolusį kompiuterį, programa kiekvienam paketui nustato unikalų identifikatorių, taip pat TTL ir laiką, kada paketas buvo išsiųstas. Jei kompiuteris pasiekiamas, jis išsiunčia atsakymą; remdamasi siuntimo laiku, programa gali apskaičiuoti paketo apskriejimo laiką. Tada siunčiamas kitas paketas. Pabaigoje apskaičiuojamas bendras išsiųstų ir gautų paketų skaičius, praradimo procentas ir kiti duomenys.
Dabar mums liko šiek tiek praktikos. Tačiau prieš pradėdami praktikuotis apžvelkime komandos sintaksę ir jos parinktis. Sintaksė gana paprasta:
$ ping [options] host_address
Komandos ping
formatas labai paprastas. Kaip kompiuterio adresą galite perduoti ip adresą arba domeno vardą. Pasirinktimis konfigūruojamas programos elgesys. Panagrinėkime pagrindines iš jų:
-4
- naudoti tik ipv4 (numatytasis nustatymas);
-6
- naudoti tik ipv6;
-A
- adaptyvusis režimas, laikas tarp paketų siuntimo ir priėmimo pritaikomas prie paketo perdavimo ir priėmimo laiko, bet ne trumpesnis kaip 200 milisekundžių;
-b
- leidžia ping
transliacijos adresą;
-c
- siunčiamų paketų skaičius;
-D
- išvesti laiką kaip UNIX laiko žymą
;
-f
- flood mode (užtvindymo režimas), šiuo režimu paketai siunčiami be vėlavimo, gali būti naudojamas DoS atakoms prieš atskirus mazgus. Programos išvedamų taškų skaičius rodo prarastų paketų skaičių;
-i
- intervalas sekundėmis tarp paketų siuntimo;
-I
- naudoti šią tinklo sąsają paketams siųsti;
-l
- perkrovos režimas, siunčiama labai daug paketų, o sistema nestebi atsako paketų;
-n
- negauti ip adresų domenų;
-r
- ignoruoti maršrutizavimo lenteles ir siųsti paketą į nurodytą sąsają;
-s
- vieno paketo dydis;
-t
- rankiniu būdu nustatyti TTL;
-v
- išsamesnė išvestis.
Dabar, kai apžvelgėme pagrindinius ping
komandos parametrus ir jos sintaksę, atėjo laikas praktikai - toliau kalbėsime apie tai, kaip Linux sistemoje ping ping pinti konkretų kompiuterį.
Norint patikrinti tinklo našumą, dažnai naudojamas ping
bet kurios svetainės, kuri visada pasiekiama, pavyzdžiui, google.com
arba dar paprasčiau ir trumpiau ya.ru.
Jums tereikės šį adresą perduoti įrankio parametruose, jis pats suras ip adresą ir atliks visus reikiamus veiksmus:
$ ping ya.ru
Kiekvienas gautas paketas turi unikalų identifikatorių icmp_seq
, mazgų skaičių iki tikslinio mazgo ttl ir paketui pristatyti sugaištą laiką
. Norėdami sustabdyti ping
, paspauskite klaviatūros klavišų kombinaciją Ctrl+C. Pabaigoje programa rodo bendrąją statistiką:
perduoti paketai
- išsiųsti paketai;
received - gauti
paketai;
packet loss - prarastų paket
ų procentinė dalis;
laikas
- bendras darbo laikas;
rtt min/avg/max/mdev
- minimalus laikas/vidutinislaikas/ maksimalus laikas
/ kvadratinis nuokrypis.
Jei ping
komanda nesustabdoma, paketai gali būti siunčiami labai ilgai, tai sukuria papildomą serverio apkrovą, todėl nėra pageidautina. Galite apriboti iš karto siunčiamų paketų skaičių komandos iškvietime naudodami parinktį -c
:
$ ping -c 3 ya.ru
Kaip ir ping'u
odami domeną, galite tiesiogiai nurodyti ip adresą. Tai leidžia patikrinti, ar yra tinklas, kai DNS serveriai yra netinkamai sukonfigūruoti. Pavyzdžiui, pvz:
$ ping -c 3 8.8.8.8
Kitas ping
pranešimų siuntimo tipas yra ping
flood. Naudodami tokius paketus galite atlikti kanalo apkrovos testavimą arba net išjungti vieno iš kompiuterių interneto ryšį. Tačiau šiomis funkcijomis galima naudotis tik turint supernaudotojo teises. Norėdami organizuoti ping flood, nurodykite parinktį -f
:
$ ping -f losst.ru
Pagal numatytuosius nustatymus įprastu režimu kiekvienas kitas paketas siunčiamas, kai gaunamas atsakymas į ankstesnįjį. Tačiau intervalą tarp paketų siuntimo galite nustatyti -i
:
$ ping -i 0.2 losst.ru
Šiuo atveju ping
programa atlieka vadinamąjį konfigūruojamą užtvindymą, nurodykite, kokiu intensyvumu norite siųsti paketus. Naudodami parinktį -D
galite matyti kiekvieno pranešimo Unix laiko žymą:
$ ping -D losst.ru
Apžvelgėme, kas yra ping
komanda Linux sistemoje, kaip ja naudotis, pagrindinius parametrus ir taikymo būdus. Šį labai paprastą įrankį galima naudoti tinklo problemoms tikrinti ir šalinti. Šiuo požiūriu ši programa gali tapti nepakeičiama.