Трансформирайте своя работен процес на Wireshark с Brim на Linux

Wireshark е де факто стандартът за анализиране на мрежовия трафик. За съжаление, той става все по-забавен с нарастването на улавянето на пакети. Брим решава този проблем толкова добре, че ще промени работния ви процес на Wireshark.

Wireshark е страхотен, но . . .

Wireshark е чудесен софтуер с отворен код. Използва се както от любители, така и от професионалисти по целия свят за разследване на проблеми с мрежата. Той улавя пакетите данни, които пътуват по проводниците или през етера на вашата мрежа. След като сте уловили трафика си, Wireshark ви позволява да филтрирате и търсите в данните, да проследявате разговори между мрежови устройства и много повече.

Колкото и страхотен да е Wireshark, той има един проблем. Файловете за улавяне на мрежови данни (наречени мрежови следи или заснемане на пакети) могат да станат много големи и много бързо. Това е особено вярно, ако проблемът, който се опитвате да проучите, е сложен или спорадичен, или мрежата е голяма и натоварена.

Колкото по-голямо е улавянето на пакети (или PCAP), толкова по-забавен става Wireshark. Самото отваряне и зареждане на много голяма (всичко над 1 GB) следа може да отнеме толкова време, че бихте си помислили, че Wireshark се е отклонил и се е отказал от призрака.

Работата с файлове с такъв размер е истинска мъка. Всеки път, когато извършвате търсене или променяте филтър, трябва да изчакате ефектите да бъдат приложени към данните и актуализирани на екрана. Всяко забавяне нарушава концентрацията ви, което може да попречи на напредъка ви.

Брим е лекарството за тези неволи. Той действа като интерактивен препроцесор и преден край за Wireshark. Когато искате да видите детайлното ниво, което Wireshark може да предостави, Brim незабавно го отваря за вас точно на тези пакети.

Ако правите много мрежово улавяне и анализ на пакети, Brim ще революционизира вашия работен процес.

Инсталиране на Brim

Brim е много нов, така че все още не е проникнал в софтуерните хранилища на Linux дистрибуции. Въпреки това, на Страница за изтегляне на Brim, ще намерите пакетни файлове DEB и RPM, така че инсталирането му в Ubuntu или Fedora е достатъчно лесно.

Ако използвате друга дистрибуция, можете изтеглете изходния код от GitHub и сами изградете приложението.

Brim използва zq, инструмент от командния ред за Зийк logs, така че ще трябва да изтеглите и ZIP файл, съдържащ двоичните файлове zq.

  Как да направите резервно копие на Thunderbird профил в Linux

Инсталиране на Brim на Ubuntu

Ако използвате Ubuntu, ще трябва да изтеглите DEB пакетния файл и zq Linux ZIP файл. Щракнете двукратно върху изтегления файл с пакет DEB и софтуерното приложение Ubuntu ще се отвори. Лицензът на Brim погрешно е посочен като „Собствен“ – той използва BSD 3-клауза лиценз.

Кликнете върху „Инсталиране“.

Щракнете върху

Когато инсталацията приключи, щракнете двукратно върху zq ZIP файла, за да стартирате приложението Archive Manager. ZIP файлът ще съдържа една директория; плъзнете и пуснете го от „Диспечер на архиви“ на място на вашия компютър, като директорията „Изтегляния“.

Въведем следното, за да създадем местоположение за двоичните файлове zq:

sudo mkdir /opt/zeek

Трябва да копираме двоичните файлове от извлечената директория в местоположението, което току-що създадохме. Заменете пътя и името на извлечената директория на вашата машина в следната команда:

sudo cp Downloads/zq-v0.20.0.linux-amd64/* /opt/Zeek

Трябва да добавим това местоположение към пътя, така че ще редактираме файла BASHRC:

sudo gedit .bashrc

Ще се отвори редакторът на gedit. Превъртете до дъното на файла и след това въведете този ред:

export PATH=$PATH:/opt/zeek

Запазете промените и затворете редактора.

Инсталиране на Brim на Fedora

За да инсталирате Brim на Fedora, изтеглете RPM пакетния файл (вместо DEB) и след това следвайте същите стъпки, които разгледахме за инсталацията на Ubuntu по-горе.

Интересното е, че когато RPM файлът се отвори във Fedora, той правилно е идентифициран като притежаващ лиценз с отворен код, а не собствен.

Стартиране на Brim

Щракнете върху „Покажи приложения“ в дока или натиснете Super+A. Въведете „brim“ в полето за търсене и след това щракнете върху „Brim“, когато се появи.

Тип

Brim стартира и показва главния си прозорец. Можете да щракнете върху „Избор на файлове“, за да отворите файлов браузър, или да плъзнете и пуснете PCAP файл в областта, заобиколена от червения правоъгълник.

Brim използва дисплей с раздели и можете да отворите няколко раздела едновременно. За да отворите нов раздел, щракнете върху знака плюс (+) в горната част и след това изберете друг PCAP.

Основи на Брим

Brim зарежда и индексира избрания файл. Индексът е една от причините Brim да е толкова бърз. Главният прозорец съдържа хистограма на обемите на пакетите във времето и списък на мрежовите „потоци“.

PCAP файлът съдържа подреден във времето поток от мрежови пакети за много мрежови връзки. Пакетите с данни за различните връзки се смесват, тъй като някои от тях ще бъдат отворени едновременно. Пакетите за всеки мрежов „разговор“ се разпръскват с пакетите от други разговори.

Wireshark показва мрежовия поток пакет по пакет, докато Brim използва концепция, наречена „потоци“. Потокът е пълен мрежов обмен (или разговор) между две устройства. Всеки тип поток е категоризиран, цветно кодиран и етикетиран по тип поток. Ще видите потоци с етикет „dns“, „ssh“, „https“, „ssl“ и много други.

  Как да възстановите изтрити файлове в Linux с testdisk

Ако превъртите дисплея с обобщена информация за потока наляво или надясно, ще се покажат още много колони. Можете също да регулирате периода от време, за да покажете подмножеството от информация, която искате да видите. По-долу са дадени няколко начина, по които можете да преглеждате данни:

Щракнете върху лента в хистограмата, за да увеличите мрежовата активност в нея.
Щракнете и плъзнете, за да маркирате диапазон от дисплея на хистограмата и да увеличите мащаба. След това Brim ще покаже данните от маркираната секция.
Можете също да посочите точни периоди в полетата „Дата“ и „Час“.

Brim може да показва два странични панела: един отляво и един отдясно. Те могат да бъдат скрити или да останат видими. Екранът вляво показва хронология на търсенето и списък с отворени PCAP, наречени интервали. Натиснете Ctrl+[ to toggle the left pane on or off.

The

The pane on the right contains detailed information about the highlighted flow. Press Ctrl+] за да включите или изключите десния панел.

A подчертано

Щракнете върху „Conn“ в списъка „UID Correlation“, за да отворите диаграма на свързване за маркирания поток.

Щракнете върху

В главния прозорец можете също да маркирате поток и след това да щракнете върху иконата Wireshark. Това стартира Wireshark с показани пакети за подчертания поток.

Wireshark се отваря, показвайки пакетите от интерес.

Филтриране в Brim

Търсенето и филтрирането в Brim са гъвкави и изчерпателни, но не е нужно да изучавате нов език за филтриране, ако не искате. Можете да създадете синтактично правилен филтър в Brim, като щракнете върху полета в прозореца с обобщение и след това изберете опции от меню.

Например, на изображението по-долу щракнахме с десния бутон върху полето „dns“. След това ще изберем „Филтър = Стойност“ от контекстното меню.

След това се случват следните неща:

Текстът _path = “dns” се добавя към лентата за търсене.
Този филтър се прилага към PCAP файла, така че ще показва само потоци, които са потоци на услугата за имена на домейни (DNS).
Текстът на филтъра също се добавя към историята на търсенето в левия панел.

Можем да добавим допълнителни клаузи към думата за търсене, използвайки същата техника. Ще щракнете с десния бутон върху полето за IP адрес (съдържащо „192.168.1.26“) в колоната „Id.orig_h“ и след това ще изберете „Filter = Value“ от контекстното меню.

Това добавя допълнителната клауза като AND клауза. Дисплеят вече е филтриран, за да показва DNS потоци, произхождащи от този IP адрес (192.168.1.26).

Новият филтърен термин се добавя към историята на търсенето в левия панел. Можете да прескачате между търсенията, като щракнете върху елементите в списъка с хронология на търсенията.

  Как да използвате текстовия уеб браузър W3M на Linux

IP адресът на местоназначението за повечето от нашите филтрирани данни е 81.139.56.100. За да видите кои DNS потоци са изпратени до различни IP адреси, щракваме с десния бутон върху „81.139.56.100“ в колоната „Id_resp_h“ и след това избираме „Filter != Value“ от контекстното меню.

Обобщен екран с филтър за търсене, съдържащ

Само един DNS поток, който произхожда от 192.168.1.26, не беше изпратен до 81.139.56.100 и ние го намерихме, без да се налага да въвеждаме нищо, за да създадем нашия филтър.

Закрепване на клаузи за филтриране

Когато щракнем с десния бутон върху поток „HTTP“ и изберем „Filter = Value“ от контекстното меню, панелът за обобщение ще покаже само HTTP потоци. След това можем да щракнем върху иконата Pin до клаузата за филтър HTTP.

HTTP клаузата вече е закрепена на място и всички други филтри или термини за търсене, които използваме, ще бъдат изпълнени с HTTP клаузата, добавена към тях.

Ако напишем „GET“ в лентата за търсене, търсенето ще бъде ограничено до потоци, които вече са филтрирани от фиксираната клауза. Можете да закачите толкова клаузи за филтриране, колкото е необходимо.

За да търсим POST пакети в HTTP потоците, просто изчистваме лентата за търсене, набираме „POST“ и след това натискаме Enter.

Превъртането настрани разкрива идентификатора на отдалечения хост.

Дистанционното

Всички термини за търсене и филтриране се добавят към списъка „История“. За да приложите повторно всеки филтър, просто щракнете върху него.

Автоматично попълнените

Можете също да търсите отдалечен хост по име.

Търся

Редактиране на думи за търсене

Ако искате да търсите нещо, но не виждате поток от този тип, можете да щракнете върху произволен поток и да редактирате записа в лентата за търсене.

Например, знаем, че трябва да има поне един SSH поток в PCAP файла, защото използвахме rsync да изпратим някои файлове на друг компютър, но не можем да го видим.

Така че ще щракнем с десния бутон върху друг поток, ще изберем „Филтър = Стойност“ от контекстното меню и след това ще редактираме лентата за търсене, за да каже „ssh“ вместо „dns“.

Натискаме Enter, за да потърсим SSH потоци и да открием, че има само един.

Натискането на Ctrl+]отваря десния панел, който показва подробностите за този поток. Ако файл е бил прехвърлен по време на поток, MD5, SHA1, и SHA256 се появяват хешове.

Щракнете с десния бутон върху някое от тях и след това изберете „VirusTotal Lookup“ от контекстното меню, за да отворите браузъра си в VirusTotal уебсайт и предайте хеша за проверка.

VirusTotal съхранява хешовете на известен зловреден софтуер и други злонамерени файлове. Ако не сте сигурни дали даден файл е безопасен, това е лесен начин да проверите, дори ако вече нямате достъп до файла.

Ако файлът е доброкачествен, ще видите екрана, показан на изображението по-долу.

А

Идеалното допълнение към Wireshark

Brim прави работата с Wireshark още по-бърза и по-лесна, като ви позволява да работите с много големи файлове за улавяне на пакети. Пробвайте го днес!