Kindlasti olete kokku puutunud olukorraga, kus teie arvutis olev internet äkki katkeb, sellist käitumist võib täheldada ADSL-modemite, Wifi-kaugühenduse, GSM-i ja muude sarnaste ebausaldusväärsete tehnoloogiate kasutamisel. Saate kiiresti teada, kas teie arvutis on internet, kasutades pingi utiliiti.
Selle kasutusala on aga palju laiem, seda kasutavad võrguadministraatorid, et kontrollida võrgu kaugseisu kättesaadavust, seda kasutatakse erinevates skriptides ja paljudes muudes kohtades. Selles artiklis vaatleme käsku ping Linuxis, räägime sellest, kuidas seda utiliiti kasutada, kuidas see töötab, vaatleme selle võimalusi ja funktsioone.
Utiliit ping on lihtne võrgu tõrkeotsingu tööriist. See võimaldab teil kontrollida, kas kaugjuhtimispunkt on kättesaadav või mitte ja ongi kõik. Selleks kontrollib utiliit, kas host suudab vastata võrgupäringutele, kasutades ICMP-protokolli. Ma loodan, et ma ei pea teile ütlema, et kõik andmed võrgus edastatakse väikeste pakettidena. Programm saadab väikese ICMP-andmepaketi ja ootab, et ta saab vastusepaketi tagasi, kui see nii on, siis loetakse, et kaughost on kättesaadav. ICMP ehk Internet Control Message Protocol on IP-protokolli lisa, mida kasutatakse teenindus- ja veateadete edastamiseks.
ICMP-protokolliga saab edastada ainult kahte tüüpi pakette - veateateid ja päringusõnumeid. Päringusõnumid omakorda jagunevad järgmisteks:
Kaja päringusõnum;
Kaja-vastusesõnum.
Järgnevalt mõistame, mida teeb käsk ping
. Kui olete saatnud ping-päringu
kaugele hostile, määrab utiliit igale paketile unikaalse identifikaatori, samuti TTL ja aja, mil pakett saadeti. Kui host on kättesaadav, saadab ta vastuse; saatmise aja põhjal saab utiliit arvutada paketi ringlusaja. Seejärel saadetakse järgmine pakett. Lõpuks arvutatakse saadetud ja vastuvõetud pakettide koguarv, kadude protsent ja muud andmed.
Nüüd on meil veel natuke harjutamist. Kuid enne praktikasse minekut vaatame käsu süntaksit ja selle valikuid. Süntaks on üsna lihtne:
$ ping [options] host_address
Ping-käsu
vorming on väga lihtne. Saate host-aadressina edastada kas ip-aadressi või domeeninime. Valikud konfigureerivad utiliidi käitumist. Vaatleme peamisi neist:
-4
- kasutada ainult ipv4 (vaikimisi);
-6
- kasutada ainult ipv6;
-A
- adaptiivne režiim, paketi saatmise ja vastuvõtmise vahelist aega kohandatakse vastavalt paketi saatmise ja vastuvõtmise ajale, kuid mitte vähem kui 200 millisekundit;
-b
- lubab ringhäälinguaadressi pingi
;
-c
- saadetavate pakettide arv;
-D
- väljundi aeg UNIXi ajatemplitena
;
-f
- üleujutusrežiim, selles režiimis edastatakse pakette ilma viivituseta, seda saab kasutada DoS-rünnakuteks üksikute sõlmede vastu. Utiliidi väljastatud punktide arv näitab kadunud pakettide arvu;
-i
- pakettide saatmise vaheline intervall sekundites;
-I
- selle võrguliidese kasutamine pakettide saatmiseks;
-l
- ülekoormusrežiim, saadetakse väga palju pakette ja süsteem ei jälgi vastuspakette;
-n
- ei saa domeene ip-aadresside jaoks;
-r
- ignoreerib marsruutimistabelid ja saadab paketi määratud liidesele;
-s
- ühe paketi suurus;
-t
- määrata TTL käsitsi;
-v
- üksikasjalikum väljund.
Nüüd, kui me oleme käsitlenud ping
käsu põhiparameetrid ja selle süntaks, on aeg praktikaks, järgmisena räägime sellest, kuidas pingida konkreetset host'i Linuxis.
Võrgu jõudluse kontrollimiseks kasutatakse sageli pingi
mis tahes saidi, mis on alati saadaval, näiteks google.com
või veelgi lihtsam ja lühem ya.ru.
Sul on vaja ainult anda see aadress utiliidile parameetrites, see leiab ip ise üles ja teeb kõik vajalikud asjad:
$ ping ya.ru
Iga pakett sai unikaalse identifikaatori icmp_seq
, arvu sõlmede siht sõlme ttl ja aega kulub, et pakkuda paketi aega
. Pingi
peatamiseks vajutage klahvikombinatsiooni Ctrl+C. Lõpuks kuvab utiliit üldstatistikat:
edastatud paketid
- saadetud paketid;
vastuvõetud
- vastuvõetud paketid;
paketikadu
- kaotatud pakettide protsent;
aeg
- kogu tööaeg;
rtt min/avg/max/mdev
- minimaalne aeg/keskmineaeg/maksimaalne
aeg/kvadratiline kõrvalekalle.
Kui ping-käsku
ei peatata, võib pakette saata väga kaua, see tekitab serverile lisakoormust ja ei ole seetõttu soovitav. Saate piirata pakettide arvu, mida saadetakse kohe käsukutses, kasutades valikut -c
:
$ ping -c 3 ya.ru
Nii nagu me pingime
domeeni jaoks, saate määrata otse ip-aadressi. See võimaldab teil kontrollida, kas võrk on olemas, kui DNS-serverid on valesti konfigureeritud. Näiteks:
$ ping -c 3 8.8.8.8
Järgmine ping-sõnumite
saatmise tüüp, on ping
flood. Selliste pakettide abil saate teostada kanali koormustesti või isegi sulgeda ühe masina internetiühenduse. Kuid neid funktsioone saab kasutada ainult superkasutaja õigustega. Ping-tulva korraldamiseks tuleb määrata valik -f
:
$ ping -f losst.ru
Vaikimisi saadetakse tavarežiimis iga järgmine pakett siis, kui eelmisele saabub vastus. Kuid te saate määrata pakettide saatmise intervalli -i
:
$ ping -i 0.2 losst.ru
Siin teostab ping
programm nn. konfigureeritava üleujutuse, te määrate, millise intensiivsusega soovite pakette saata. Valikuga -D
näete iga sõnumi Unixi ajatemplit:
$ ping -D losst.ru
Oleme vaadanud, mis on ping
käsk Linuxis, kuidas seda kasutada põhiparameetrid ja rakendusmeetodid. Seda väga lihtsat vahendit saab kasutada võrguprobleemide testimiseks ja nende parandamiseks. Selles osas võib see utiliit muutuda asendamatuks.