Најбољи њушкари пакета и мрежни анализатори

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

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

Неколико речи о сниферима пакета и мрежним анализаторима

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

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

Већина алата користи екстерне модуле за стварно прикупљање пакета података. Најчешће коришћени су libpcap на Unix/Linux системима и Winpcap на Windows-у. Ове алате обично не морате инсталирати засебно, јер су обично укључени у инсталационе пакете различитих алата.

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

Како се користи снифер пакета

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

С друге стране, ако видите да сервер реагује на време, проблем можда лежи негде у мрежи између клијента и сервера. У том случају, требало би да преместите свој снифер пакета за један „скок“ ближе клијенту и проверите да ли долази до кашњења у одговорима. Ако нема кашњења, преместите га још један „скок“ ближе, и тако даље. На крају ћете пронаћи место где долази до кашњења. Једном када идентификујете локацију проблема, велики сте корак ближе његовом решењу.

Сада се можда питате како успевамо да прикупимо пакете у одређеном тренутку. Прилично је једноставно, користимо функцију већине мрежних прекидача која се назива пресликавање портова или репликација. Ово је опција конфигурације која ће реплицирати сав саобраћај који улази и излази из одређеног порта прекидача на други порт на истом прекидачу. Рецимо да је ваш сервер повезан на порт 15 прекидача, а порт 23 истог прекидача је слободан. Повежите снифер пакета на порт 23 и конфигуришите прекидач да реплицира сав саобраћај са порта 15 на порт 23. Оно што добијете на порту 23 је огледална слика – одатле и назив пресликавање порта – онога што пролази кроз порт 15.

Најбољи снифери пакета и мрежни анализатори

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

1. SolarWinds алат за дубинску инспекцију и анализу пакета (БЕСПЛАТНА ПРОБА)

SolarWinds је познат по бројним корисним бесплатним алатима и врхунском софтверу за управљање мрежом. Један од њихових алата је Deep Packet Inspection and Analysis Tool. Он је саставни део њиховог главног производа, Network Performance Monitor. Начин његовог рада се доста разликује од „традиционалнијих“ снифера пакета, иако служи сличној сврси.

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

Важно је напоменути да је SolarWinds алат за дубинску инспекцију и анализу пакета саставни део Network Performance Monitor-а. NPM, како га често називају, је импресиван софтвер са толико компоненти да би се о њему могао написати посебан чланак. У суштини, то је комплетно решење за надгледање мреже које комбинује најбоље технологије, попут SNMP-а и дубинске инспекције пакета, како би се обезбедило што више информација о стању ваше мреже. Алат, који је понуђен по разумној цени, долази са бесплатним пробним периодом од 30 дана, што вам омогућава да се уверите да заиста испуњава ваше потребе пре куповине.

Званична веза за преузимање: https://www.solarwinds.com/topics/deep-packet-inspection

2. tcpdump

tcpdump је вероватно оригинални снифер пакета. Први пут је развијен 1987. године. Од тада се одржава и унапређује, али је у суштини остао непромењен, барем у начину коришћења. Прединсталиран је на скоро свим оперативним системима сличним Unix-у и постао је де факто стандард када је потребан брз алат за прикупљање пакета. tcpdump користи библиотеку libpcap за стварно прикупљање пакета.

По подразумеваној вредности, tcpdump прикупља сав саобраћај на наведеном интерфејсу и приказује га на екрану – одатле и његово име „dump“ (испис). Испис се такође може преусмерити у датотеку за снимање и анализирати касније помоћу једног или комбинације неколико доступних алата. Кључ за снагу и корисност tcpdump-а је могућност примене различитих филтера и слања његовог излаза у grep – још један уобичајени Unix услужни програм командне линије – ради даљег филтрирања. Корисник који добро познаје tcpdump, grep и командну линију, може да конфигурише алат да прикупи тачно онај саобраћај који му је потребан за било који задатак решавања проблема.

3. windump

Windump је у суштини порт tcpdump-a на Windows платформи. Као такав, понаша се на скоро идентичан начин. Није неуобичајено видети портове успешних услужних програма са једне платформе на другу. Windump је Windows апликација, али немојте очекивати раскошан GUI. Ово је алат само за командну линију. Стога, коришћење Windump-а је у основи исто као и коришћење његове Unix верзије. Опције командне линије су исте, а резултати су такође скоро идентични. Излаз из Windump-а такође се може сачувати у датотеку ради касније анализе помоћу алата треће стране.

Једна велика разлика у односу на tcpdump је што Windump није уграђен у Windows. Мораћете да га преузмете са Windump веб странице. Софтвер се испоручује као извршна датотека и не захтева инсталацију. Међутим, као што tcpdump користи libpcap библиотеку, Windump користи Winpcap која, попут већине Windows библиотека, мора бити преузета и инсталирана засебно.

4. Wireshark

Wireshark је референца у свету снифера пакета. Он је постао де факто стандард, и већина других алата настоји да га имитира. Овај алат не само да прикупља саобраћај, већ поседује и изузетно моћне аналитичке могућности. Толико је моћан да многи администратори користе tcpdump или Windump за прикупљање саобраћаја у датотеку, коју затим учитавају у Wireshark ради анализе. Овај начин употребе Wireshark-a је толико чест да ће од вас, након покретања програма, бити затражено да отворите постојећу pcap датотеку или започнете прикупљање саобраћаја. Још једна предност Wireshark-а су бројни филтери који вам омогућавају да прецизно одредите податке који вас занимају.

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

5. tshark

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

Можда се питате зашто би неко желео командно-линијску верзију Wireshark-а? Зашто једноставно не би користили Wireshark са његовим графичким интерфејсом, који је вероватно једноставнији за употребу и учење? Главни разлог је тај што би вам омогућио да га користите на серверу који нема GUI.

6. Network Miner

Network Miner је више форензички алат него прави снифер пакета. Network Miner ће пратити TCP токове и реконструисати комплетан разговор. Заиста је моћан алат. Може да ради у offline режиму, где бисте увезли датотеку са снимком и дозволили Network Miner-у да уради свој посао. Ово је корисна функција, јер софтвер ради само на Windows-у. Можете користити tcpdump на Linux-у за прикупљање дела саобраћаја и Network Miner на Windows-у за његову анализу.

Network Miner је доступан у бесплатној верзији, али за напредније функције, као што су геолокација заснована на IP адреси и скриптовање, мораћете да купите Professional лиценцу. Још једна напредна функција професионалне верзије је могућност декодирања и репродукције VoIP позива.

7. Fiddler (HTTP)

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

Предност алата као што је Fiddler, у односу на поуздан снифер пакета, попут, на пример, Wireshark-а, је у томе што је Fiddler направљен да „разуме“ HTTP саобраћај. Он ће, на пример, открити колачиће и сертификате. Такође ће пронаћи стварне податке који долазе из апликација заснованих на HTTP-у. Fiddler је бесплатан и доступан само за Windows, иако се бета верзије могу преузети за macOS и Linux (користећи Mono framework).

Закључак

Када објављујемо листе попут ове, често нас питају који је алат најбољи. У овој конкретној ситуацији, када би ми поставили то питање, морао бих да одговорим „сви“. Сви алати су бесплатни и сваки има своју вредност. Зашто их не бисте имали све при руци и упознали се са сваким. Када се нађете у ситуацији да их морате користити, биће вам много лакше и ефикасније. Чак и алати командне линије имају огромну вредност. На пример, могу се скриптовати и заказивати. Замислите да имате проблем који се јавља у 2:00 ујутру. Можете да закажете задатак да покренете tcpdump или Windump између 1:50 и 2:10 и анализирате датотеку са снимком следећег јутра. Нема потребе да останете будни целу ноћ.