Сигурно сте наишли на ситуацију када се интернет на вашем рачунару изненада поквари, такво понашање се може приметити када користите АДСЛ модеме, Ви-Фи на великој удаљености, ГСМ и друге сличне непоуздане технологије; Можете брзо да сазнате да ли ваш рачунар има приступ Интернету помоћу услужног програма за пинг.
Међутим, његов обим примене је много шири, користе га администратори мреже за проверу доступности удаљеног чвора у мрежи, користи се у разним скриптама и на многим другим местима. Овај чланак ће се бавити командом пинг у Линуку, разговараћемо о томе како користити услужни програм, како функционише и размотрити његове опције и могућности.
Услужни програм пинг је једноставан алат за дијагностику мреже. Омогућава вам да проверите да ли је удаљени хост доступан или не и то је све. Да би то урадио, услужни програм проверава да ли домаћин може да одговори на мрежне захтеве користећи ИЦМП протокол. Надам се да се подразумева да се сви подаци преко мреже преносе у малим пакетима. Програм шаље мали пакет са ИЦМП подацима и очекује да ће примити пакет одговора, ако то уради, сматра се да је удаљени чвор доступан; ИЦМП или Интернет Цонтрол Мессаге Протоцол је додатак ИП протоколу који се користи за пренос услуга и порука о грешкама.
ИЦМП протокол може да преноси само две врсте пакета: поруке са извештајима о грешци и поруке са захтевима. Заузврат, поруке захтева су подељене на:
Порука са захтевом за ехо;
Порука ехо одговора.
Затим, хајде да схватимо шта ради команда ping
. Када пошаљете ping
захтев удаљеном хосту, услужни програм поставља јединствени идентификатор за сваки пакет, као и ТТЛ и време када је пакет послан. Ако је хост доступан, он шаље одговор, а на основу времена слања, услужни програм може израчунати повратно време за пакет. Затим се шаље следећи пакет. На крају се израчунава укупан број послатих и примљених пакета, проценат губитака и други подаци.
Сада све што треба да урадимо је да мало вежбамо. Али пре него што кренемо у праксу, погледајмо синтаксу команде и њене опције. Синтакса је прилично једноставна:
$ ping [options] host_address
Формат команде ping
је веома једноставан. Можете проследити или ИП адресу или име домена као адресу чвора. Опције прилагођавају понашање услужног програма. Погледајмо главне:
-4
- користи само ипв4 (подразумевано);
-6
- користити само ипв6;
-A
- адаптивни режим, време између слања пакета је прилагођено времену преноса и пријема пакета, али не мање од 200 милисекунди;
-b
- дозволи ping
адресе емитовања;
-с
- број пакета који се шаљу;
-D
- излазно време као UNIX timestamp
;
-f
- флоод режим, у овом режиму пакети се преносе без кашњења, може се користити за извођење ДоС напада на појединачне чворове. Број тачака које услужни програм приказује означава број изгубљених пакета;
-i
- интервал у секундама између слања пакета;
-I
- користим овај мрежни интерфејс за слање пакета;
-l
- режим преоптерећења, шаље се много пакета и систем не прати пакете одговора;
-n
- не примају домене за ИП адресе;
-r
- игнорисати табеле рутирања и послати пакет на наведени интерфејс;
-s
- величина једног пакета;
-t
- ручно подесити ТТЛ;
-v
- опширнији излаз.
Сада када смо покрили основне параметре команде ping
и њену синтаксу, време је за мало вежбе, а сада ћемо причати о томе како пинговати одређени хост у Линуку.
Да би се проверила функционалност мреже, ping
програм се често користи за било који сајт који је увек доступан, на пример, google.com
или још једноставнији и краћи ya.ru
Ову адресу ћете само требати проследити услужном програму у параметрима, он ће сам пронаћи ИП и учинити све што је потребно:
$ ping ya.ru
Сваки пакет добија јединствени идентификатор icmp_seq
, број чворова до одредишног чвора ттл и време утрошено на испоруку time
. Да бисте зауставили ping
притисните Цтрл+Ц. На крају, услужни програм је приказао општу статистику:
packets transmitted
- пакети послати;
received
- примљени пакети;
packet loss
- проценат изгубљених пакета;
time
- укупно радно време;
rtt min/avg/max/mdev
- минимално време/просечно време/максимално време/квадратно одступање.
Ако ping
команда није заустављена, пакети се могу слати веома дуго, што ствара додатно оптерећење на серверу и стога није пожељно. Можете ограничити број пакета послатих директно у командном позиву помоћу опције -c
:
$ ping -c 3 ya.ru
Баш као што ping
домен, можемо директно навести ИП адресу. Ово вам омогућава да проверите да ли постоји мрежа када су ДНС сервери погрешно конфигурисани. на пример:
$ ping -c 3 8.8.8.8
Следећи тип слања ping
порука је ping
флоод. Уз помоћ таквих пакета можете извршити тестирање оптерећења канала или чак ометати интернет везу на једној од машина. Али ове функције се могу користити само са правима суперкорисника. Да бисте организовали поплаву пинга, наведите опцију -f
:
$ ping -f losst.ru
Подразумевано, у нормалном режиму, сваки следећи пакет се шаље када се прими одговор на претходни. Али можете сами да подесите интервал између слања пакета -i
:
$ ping -i 0.2 losst.ru
Овде ping
програм изводи такозвани конфигурабилни флоод, ви одређујете интензитет којим пакети треба да се шаљу. Са -D
опцијом можете видети Уник временску ознаку за сваку поруку:
$ ping -D losst.ru
Погледали смо шта је команда ping
у Линуку, како је користити, њене основне параметре и методе примене. Овај врло једноставан алат се може користити за тестирање мрежних проблема и њихово решавање. У том погледу, услужни програм може постати незаменљив.