Како користити Виресхарк филтере на Линук-у

Виресхарк је анализатор пакета светске класе доступан за Линук, Виндовс и мацОС. Његови филтери су флексибилни и софистицирани, али понекад и контраинтуитивни. Објаснићемо „муке“ на које морате да пазите.

Анализа пакета са стварним угризом

Виресхарк је један од драгуља света отвореног кода. То је софтверски алат светске класе, који користе и професионалци и аматери да истражују и дијагностикују проблеме са умрежавањем. Програмери софтвера га користе за прецизирање и карактеризацију грешака у комуникацијским рутинама. Истраживачи безбедности га користе за снимање и уклањање злонамерне активности на мрежи.

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

Ухваћени пакети се називају трагом. Када је снимање завршено, праћење се може прећи, пакет по пакет. У могућности сте да прегледате било који пакет до најситнијих детаља, мапирате мрежне „разговоре“ између уређаја и користите филтере да бисте укључили (или искључили) пакете из ваше анализе.

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

Ако не разумете како филтери функционишу у Виресхарку, никада нећете изаћи из прве брзине и смањити могућности софтвера.

Инсталирање Виресхарка

Када инсталирате Виресхарк, бићете упитани да ли би неко ко користи нероот налог требало да може да ухвати мрежне трагове. Рећи не овоме може бити привлачна идеја. Можда не желите да сви могу да виде шта се дешава на мрежи. Међутим, инсталирање Виресхарка тако да га могу користити само они са роот привилегијама значи да ће све његове компоненте радити са повишеним дозволама.

Виресхарк садржи преко 2 милиона редова компликованог кода и комуницира са вашим рачунаром на најнижем нивоу. Најбоље безбедносне праксе саветују да што мање кода треба да ради са повишеним привилегијама — посебно када ради на тако ниском нивоу.

Много је безбедније покренути Виресхарк са редовним корисничким налогом. И даље можемо ограничити ко има могућност да покреће Виресхарк. Ово захтева неколико додатних корака за подешавање, али то је најсигурнији начин да наставите. Елементи прикупљања података Виресхарка ће и даље радити са повишеним привилегијама, али остатак Виресхарка ради као нормалан процес.

Да бисте покренули инсталацију на Убунту, откуцајте:

sudo apt-get install wireshark

На Федора-и откуцајте:

sudo dnf install wireshark

На Мањаро-у користите ову команду:

sudo pacman -Syu wireshark-qt

Током инсталације, видећете екран испод који препоручује да не покрећете Виресхарк као роот. Притисните Таб да бисте померили црвено обележје на „” и притисните размакницу.

На следећем екрану притисните Таб да бисте померили црвено обележје на „” и притисните размакницу.

Екран са опцијама који омогућава корисницима који нису роот корисници да покрећу Виресхарк са

Да бисте покренули Виресхарк, морате бити члан „виресхарк“ групе, која се креира током инсталације. Ово вам омогућава да контролишете ко може да покрене Виресхарк. Свако ко није у „виресхарк“ групи не може да покрене Виресхарк.

  Како избрисати корисника на Линук-у (и уклонити сваки траг)

Да бисте се додали у групу „Виресхарк“ користите ову команду:

sudo usermod -a -G wireshark $USER

Да би ваше ново чланство у групи ступило на снагу, можете се одјавити и поново пријавити или користити ову команду:

newgrp wireshark

Да бисте видели да ли сте у новој групи, користите команду групе:

groups

Требало би да видите „виресхарк“ на листи група.

Покретање Виресхарка

Можете покренути Виресхарк помоћу наредбе испод. Амперсанд (&) покреће Виресхарк као позадински задатак, што значи да можете наставити да користите прозор терминала. Можете чак и затворити прозор терминала и Виресхарк ће наставити да ради.

Откуцајте следеће:

Wireshark &

Појављује се Виресхарк интерфејс. Наведени су уређаји мрежног интерфејса који се налазе на вашем рачунару, заједно са неким уграђеним псеудо-уређајима.

Таласаста линија поред интерфејса значи да је активан и да мрежни саобраћај пролази кроз њега. Равна линија значи да нема активности на интерфејсу. Највиша ставка на овој листи је „енп0с3“, жичана веза за овај рачунар и, како се очекивало, показује активност.

Да бисмо започели снимање пакета, кликните десним тастером миша на „енп0с3“, а затим изаберите „Старт Цаптуре“ у контекстуалном менију.

Кликните

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

Наравно, за мреже са великим прометом, трагови могу брзо постати веома велики, тако да филтрирање при снимању има смисла у овом сценарију. Или, можда вам је тако драже.

Имајте на уму да је синтакса за филтери за снимање је мало другачији него за дисплеје.

Истакнуте иконе на горњој слици означавају следеће, с лева на десно:

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

Анализирајући траг

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

Једноставан начин да олакшате читање трага је да Виресхарк обезбеди смислена имена за изворну и одредишну ИП адресу пакета. Да бисте то урадили, кликните на Виев > Наме Ресолутион и изаберите „Ресолве Нетворк Аддрессес“.

Виресхарк ће покушати да разреши име уређаја који су послали и примили сваки пакет. Неће моћи да идентификује сваки уређај, али они које може помоћи ће вам да прочитате траг.

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

  Како инсталирати КДЕ Пласма Мобиле Линук на Некус 5 и 5Кс

Виресхарк подразумевано приказује све пакете редоследом којим су праћени. Многи уређаји истовремено шаљу пакете напред и назад. То значи да ће један разговор између два уређаја вероватно имати испреплетене пакете од других.

Да бисте испитали један разговор, можете га изоловати протоколом. Протокол за сваки пакет је приказан у колони протокола. Већина протокола које ћете видети припадају ТЦП/ИП породици. Можете да одредите тачан протокол или да користите Етхернет као неку врсту хватања.

Кликните десним тастером миша на било који од пакета у секвенци коју желите да испитате, а затим кликните на Филтер разговора > Етернет. У примеру испод, изабрали смо пакет захтева за пинг.

Изоловани пинг

Низ пакета је приказан без других између њих, пошто је Виресхарк аутоматски генерисао филтер да би то урадио. Приказује се на траци филтера и истиче зеленом бојом, што указује да је синтакса филтера тачна.

Да бисте обрисали филтер, кликните на „Кс“ на траци филтера.

Прављење сопствених филтера

Хајде да ставимо једноставан филтер у траку филтера:

ip.addr == 192.168.4.20

Овим се бирају сви пакети који су послати или примљени од уређаја са ИП адресом 192.168.4.20. Обратите пажњу на знаке двоструке једнакости (==) без размака између њих.

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

ip.dst == 192.168.4.20 && ip.src == 192.168.4.28

Обратите пажњу на употребу двоструког амперсанда (&&) за означавање логичког „и“. Овај филтер тражи пакете који су стигли на 192.168.4.20 са 192.168.4.28.

Људи који су нови у Виресхарк филтерима често мисле да ће филтер попут овог ухватити све пакете између две ИП адресе, али то није случај.

Оно што заправо ради је да филтрира све пакете на или са ИП адресе 192.168.4.20, без обзира на то одакле су дошли или где су послати. Исто ради са свим пакетима са ИП адресе 192.168.4.28. Једноставније речено, филтрира сав саобраћај на или са било које ИП адресе.

Можете тражити активности и на другим протоколима. На пример, можете да откуцате овај филтер да бисте потражили ХТТП захтеве:

http.request

Да бисте искључили пакете који су дошли са уређаја или су послати на уређај, користите знак узвика (!) и ставите филтер у заграде [()]:

!(ip.addr == 192.168.4.14)

Овај филтер искључује све пакете послате на или са 192.168.4.14.

То је контраинтуитивно јер филтер садржи оператор једнакости (==). Можда сте очекивали да ћете овај филтер откуцати овако:

ip.addr !=192.168.4.14

Међутим, ово неће радити.

Такође можете претраживати низове унутар пакета, по протоколу. Овај филтер тражи Протокол контроле преноса (ТЦП) пакети који садрже стринг „иоутубе“:

tcp contains youtube

Филтер који тражи поновни пренос је користан као начин да проверите да ли постоји проблем са везом. Ретрансмисије су пакети који се поново шаљу јер су оштећени или изгубљени током иницијалног преноса. Превише поновних преноса указује на спору везу или уређај који споро реагује.

Откуцајте следеће:

tcp.analysis.retransmission

Рођење, живот, смрт и шифровање

Мрежна веза између два уређаја се покреће сваки пут када један ступи у контакт са другим и пошаље СИН (синхронизовани) пакет. Пријемни уређај затим шаље АЦК (потврда) пакет. Означава да ли ће прихватити везу слањем СИН пакета.

  Анонимизирајте Линук саобраћај помоћу прокси ланаца и Тор-а

СИН и АЦК су заправо две заставице у истом пакету. Оригинални уређај потврђује СИН слањем АЦК, а затим уређаји успостављају мрежну везу.

Ово се зове тросмерно руковање:

A -> SYN -> B

A  ACK -> B

На слици испод, неко на рачунару „ностромо.лоцал“ прави а Сецуре Схелл (ССХ) везу са рачунаром „убунту20-04.лоцал.“ Тросмерно руковање је први део комуникације између два рачунара. Имајте на уму да су две линије које садрже СИН пакете означене тамно сивом бојом.

Померање екрана да бисте приказали колоне удесно откривају пакете руковања СИН , СИН/АЦК и АЦК.

Приметићете да се размена пакета између два рачунара смењује између ТЦП и ССХ протокола. Пакети података се прослеђују кроз шифровану ССХ везу, али пакети порука (попут АЦК) се шаљу преко ТЦП-а. Ускоро ћемо филтрирати ТЦП пакете.

Када мрежна веза више није потребна, она се одбацује. Секвенца пакета за прекид мрежне везе је четворосмерно руковање.

Једна страна шаље ФИН (финисх) пакет. Други крај шаље АЦК да би потврдио ФИН, а затим такође шаље ФИН да би показао да се слаже да везу треба прекинути. Прва страна шаље АЦК за ФИН који је управо примио, а мрежна веза се затим раставља.

Ево како изгледа четворосмерно руковање:

A -> FIN -> B

A  ACK -> B

Понекад се оригинални ФИН враћа на АЦК пакет који је ипак требао бити послат, као што је приказано у наставку:

A -> FIN, ACK -> B

A  ACK -> B

Ово се дешава у овом примеру.

Ако желимо да видимо само ССХ саобраћај за овај разговор, можемо користити филтер који специфицира тај протокол. Откуцавамо следеће да бисмо видели сав саобраћај користећи ССХ протокол до и са удаљеног рачунара:

ip.addr == 192.168.4.25 && ssh

Ово филтрира све осим ССХ саобраћаја ка и са 192.168.4.25.

Други корисни шаблони филтера

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

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

На пример, са ип-ом можете да користите ип.аддр, ип.цхецксум, ип.срц, ип.дст, ип.ид, ип.хост и на десетине других.

Користите следеће шаблоне филтера као основу својих филтера:

Да бисте приказали само пакете ХТТП протокола: хттп
Да бисте приказали само пакете ДНС протокола: днс
Да бисте приказали само ТЦП пакете са 4000 као изворни или одредишни порт: тцп.порт==4000
За приказ свих ТЦП пакета за ресетовање: хттп.рекуест
Да бисте филтрирали АРП, ИЦМП и ДНС пакете: !(арп или ицмп или днс)
Да бисте приказали све ретрансмисије у трагу: тцп.аналисис.ретрансмиссион
Да бисте филтрирали заставице (као што су СИН или ФИН): Морате да поставите упоредну вредност за ове: 1 значи да је заставица постављена, а 0 значи да није. Дакле, пример би био: тцп.флагс.син == 1.

Овде смо покрили неке од водећих принципа и основне употребе филтера за екран, али, наравно, постоји много више.

Да бисте ценили пуни обим и снагу Виресхарк филтера, обавезно погледајте његова онлајн референца.