Увод у Тцпдумп

Ако покренете сервер, несумњиво ћете доћи до тачке у којој ћете морати да решите неке проблеме везане за мрежу. Наравно, било би лако послати пошту служби за подршку, али понекад морате упрљати руке. У овом случају, tcpdumpто је алат за тај посао. Тцпдумп је анализатор мрежних пакета који ради под командном линијом.

Овај чланак ће бити подељен на три дела:

  • Основне карактеристике.
  • Филтрирање на основу одређених карактеристика саобраћаја.
  • Кратак исечак напреднијих функција (као што су логички изрази, филтрирање према ТЦП заставицама).

Пошто тцпдумп није укључен у већину основних система, мораћете да га инсталирате. Међутим, скоро све Линук дистрибуције имају тцпдумп у својим основним репозиторијумима. За дистрибуције засноване на Дебиану, команда за инсталирање тцпдумп је:

apt-get install tcpdump

За ЦентОС/РедХат, користите следећу команду:

yum install tcpdump

ФрееБСД нуди унапред изграђен пакет који се може инсталирати издавањем:

pkg install tcpdump

Доступан је и порт net/tcpdumpкоји се може инсталирати преко:

cd /usr/ports/net/tcpdump
make install clean

Ако трчите tcpdumpбез икаквих аргумената, бићете претучени резултатима. Покретање на свеже покренутој инстанци овде на Вултру за мање од пет секунди даје следеће резултате:

2661 packets captured
2663 packets received by filter
0 packets dropped by kernel

Пре него што пређете на више детаља о томе како да филтрирате унос, требало би да погледате неке параметре који се могу пренети у тцпдумп:

  • -i- Одређује интерфејс који желите да слушате, на пример: tcpdump -i eth0.
  • -n- Не покушавајте да tcpdump -nвршите обрнуте претраге на ИП адресама, на пример: (ако додате још један nтцпдумп ће вам показати бројеве портова уместо имена).
  • -X- Прикажи садржај прикупљених пакета: tcpdump -X.
  • -c- Само хватање xпакета, xбудући да је произвољан број, на пример tcpdump -c 10хвата тачно 10 пакета.
  • -v- Повећајте количину информација о пакетима које вам се приказују, више vс додајте више детаља.

Сваки од ових параметара који се овде помиње може се комбиновати заједно. Ако желите да ухватите 100 пакета, али само на вашем ВПН интерфејсу тун0, онда би команда тцпдумп изгледала овако:

tcpdump -i tun0 -c 100 -X

Постоје десетине (ако не и стотине) опција поред ових неколико, али оне су најчешће. Слободно прочитајте тцпдумп-ову ман страницу на свом систему.

Сада када имате основно разумевање тцпдумп-а, време је да погледате једну од најневероватнијих карактеристика тцпдумп-а: изразе. Изрази ће вам много олакшати живот. Такође су познати као БПФ или Беркли пакетни филтери. Коришћење израза вам омогућава да селективно приказујете (или игноришете) пакете на основу одређених карактеристика – као што су порекло, одредиште, величина или чак ТЦП редни број.

До сада сте успели да ограничите претрагу на одређену количину пакета на одређеном интерфејсу, али будимо искрени: то и даље оставља превише позадинске буке за ефикасан рад са прикупљеним подацима. Ту долази до изражаја изрази. Концепт је прилично једноставан, тако да ћемо овде изоставити суву теорију и поткрепити разумевање неким практичним примерима.

Изрази које ћете вероватно најчешће користити су:

  • host - Потражите саобраћај на основу имена хостова или ИП адреса.
  • srcили dst- Потражите саобраћај од или до одређеног хоста.
  • proto- Потражите саобраћај одређеног протокола. Ради за тцп, удп, ицмп и друге. Могуће protoје и изостављање кључне речи.
  • net - Потражите саобраћај ка / са одређеног опсега ИП адреса.
  • port - Потражите саобраћај до/из одређене луке.
  • greaterили less- Потражите саобраћај већи или мањи од одређене количине бајтова.

Док ман страница за tcpdumpсадржи само неколико примера, ман страница за pcap-filterима веома детаљна објашњења о томе како сваки филтер функционише и може се применити.

Ако желите да видите како се одвија ваша комуникација са одређеним сервером, можете користити hostкључну реч, на пример (укључујући неке од параметара одозго):

tcpdump -i eth0 host vultr.com

Понекад постоје рачунари на мрежи који не поштују МТУ или вам шаљу велике пакете; њихово филтрирање понекад може бити тешко. Изрази вам омогућавају да филтрирате пакете који су већи или мањи од одређеног броја бајтова:

tcpdump -i eth0 -nn greater 128
or
tcpdump -i eth0 -nn less 32

Можда вас занима само одређена лука. У овом случају користите portизраз:

tcpdump -i eth0 -X port 21

Такође можете пазити на опсеге портова:

tcdump -i eth0 -X portrange 22-25

Пошто су НАТ мрежни пролази прилично уобичајени, можете тражити само одредишне портове:

tcpdump dst port 80

Ако гледате саобраћај на свом веб серверу, можда ћете желети да погледате само ТЦП саобраћај до порта 80:

tcpdump tcp and dst port 80

Вероватно се питате шта кључна реч andтамо ради. Добро питање. То нас доводи до последњег дела овог чланка.

tcpdump нуди основну подршку за логичке изразе, тачније:

  • and/ &&- Логично "и".
  • or/ ||- Логично "или".
  • not/ !- Логично "не".

Заједно са могућношћу груписања израза заједно, ово вам омогућава да креирате веома моћне претраге за долазни и одлазни саобраћај. Дакле, хајде да филтрирамо саобраћај који долази са вултр.цом на порту 22 или 443:

tcpdump -i eth0 src host vultr.com and (dst port 22 or 443)

Покретање овога на командној линији ће вам дати следећу грешку:

bash: syntax error near unexpected token `('

То је зато што постоји упозорење: bashпокушава да процени сваки лик који може. Ово укључује (и )знакове. Да бисте избегли ту грешку, требало би да користите појединачне наводнике око комбинованог израза:

tcpdump -i eth0 'src host vultr.com and (dst port 22 or 443)'

Још један користан пример: Када отклањате грешке са ССХ-ом са једним од ваших корисника, можда ћете желети да занемарите све што је повезано са вашом ССХ сесијом:

tcpdump '!(host $youripaddress) && port 22)'

Опет, случајеви коришћења су бесконачни, а ви можете да наведете у екстремне дубине какву врсту саобраћаја желите да видите. Следећа команда би вам показала само СИНАЦК пакете ТЦП руковања:

tcpdump -i eth0 'tcp[13]=18'

Ово функционише тако што се посматра тринаести помак ТЦП заглавља и осамнаести бајт унутар њега.

Ако сте стигли до краја, онда сте спремни за већину случајева употребе који ће се појавити. Једва могу да додирнем површину, а да не улазим у превише детаља. Топло препоручујем да мало даље експериментишете са различитим опцијама и изразима; и као и обично: упутите се на ман страницу када се изгубите.

На крају, али не и најмање важно - брзи поглед уназад. Сећате ли се почетка овог чланка? Са хиљадама пакета ухваћених за неколико секунди? Моћ tcpdumpможе то у великој мери смањити:

tcpdump -i eth0 tcp port 22

Резултат је сада:

81 packets captured
114 packets received by filter
0 packets dropped by kerne

Ово је много разумније и лакше за отклањање грешака. Срећно умрежавање!

Остави коментар

Успон машина: Примене вештачке интелигенције у стварном свету

Успон машина: Примене вештачке интелигенције у стварном свету

Вештачка интелигенција није у будућности, она је овде управо у садашњости. У овом блогу Прочитајте како су апликације вештачке интелигенције утицале на различите секторе.

ДДОС напади: кратак преглед

ДДОС напади: кратак преглед

Да ли сте и ви жртва ДДОС напада и збуњени сте методама превенције? Прочитајте овај чланак да бисте решили своја питања.

Да ли сте се икада запитали како хакери зарађују новац?

Да ли сте се икада запитали како хакери зарађују новац?

Можда сте чули да хакери зарађују много новца, али да ли сте се икада запитали како зарађују толики новац? Хајде да причамо.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Да ли желите да видите револуционарне изуме Гугла и како су ти изуми променили живот сваког људског бића данас? Затим читајте на блогу да бисте видели Гооглеове изуме.

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Концепт самовозећих аутомобила који путују на путеве уз помоћ вештачке интелигенције је сан који већ неко време имамо. Али упркос неколико обећања, њих нема нигде. Прочитајте овај блог да сазнате више…

Технолошка сингуларност: далека будућност људске цивилизације?

Технолошка сингуларност: далека будућност људске цивилизације?

Како се наука развија великом брзином, преузимајући многе наше напоре, расте и ризик да се подвргнемо необјашњивој сингуларности. Прочитајте шта би сингуларност могла да значи за нас.

Функционалности слојева референтне архитектуре великих података

Функционалности слојева референтне архитектуре великих података

Прочитајте блог да бисте на најједноставнији начин упознали различите слојеве у архитектури великих података и њихове функционалности.

Еволуција складиштења података – Инфографика

Еволуција складиштења података – Инфографика

Методе складиштења података су се развијале можда од рођења података. Овај блог покрива еволуцију складиштења података на основу инфографике.

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

У овом дигиталном свету, паметни кућни уређаји постали су кључни део живота. Ево неколико невероватних предности паметних кућних уређаја о томе како они чине наш живот вредним живљења и једноставнијим.

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Недавно је Аппле издао мацОС Цаталина 10.15.4 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више