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

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

В много отношения пейзажът за дигиталния бизнес е претърпял революция или две. Това, което започна толкова просто CGI скриптове написано на Perl, сега прерасна в клъстерни внедрявания, работещи напълно автоматизирано на Kubernetes и други рамки за оркестрация (съжалявам за тежкия жаргон — изобщо не си го измислям; просто нещата стоят така в наши дни!).

Типично контейнеризирано, разпределено модерно уеб приложение (източник: medium.com)

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

Всичко, което имаме, са абстракции след абстракции, поддържани от твърди, физически кабели, които образуват мрежата (добре, има виртуални мрежи, добре е, но схващате идеята). Ако искаме да станем по-фантастични, можем да разделим мрежата на слоеве според OSI модела, но всичко казано и направено, винаги, винаги имаме работа с TCP/IP протоколи (предупреждение, тежко четене!), пингове, рутери, всички от които имат една обща цел — предаване на пакети данни.

И така, какво е мрежов пакет?

Без значение какво правим – чат, видео стрийминг, игри, сърфиране, купуване на неща – това е по същество обмен на пакети данни между два компютъра (мрежи). „Пакет“ е най-малката единица информация, протичаща в мрежа (или между мрежи) и има добре дефиниран метод за конструиране и проверка на мрежови пакети (извън обхвата на тази статия, но ако се чувствате авантюристично настроени, ето Повече ▼).

Поток на пакети в мрежа (източник: training.ukdw.ac.id)

По-просто казано, всеки пакет представлява връзка във веригата и се предава правилно при източника и се валидира при местоназначението. Дори ако пристигне единичен пакет или поръчка, процесът се спира, докато не бъдат получени всички пакети в правилния ред и едва тогава те се събират, за да образуват данните, които първоначално са представлявали (например изображение).

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

Но защо искате да си правите тези проблеми? Нека обсъдим това по-нататък.

Защо трябва да анализираме пакети?

Изглежда, че пакетите са до голяма степен основните градивни елементи в мрежовия поток от данни, подобно на атомите, които са в основата на цялата материя (да, знам, това не са истински фундаментални частици, но това е достатъчно добра аналогия за нашите цели) . И когато става въпрос за анализиране на материали или газове, ние никога не се притесняваме какво прави отделен атом; така че защо да се притеснявате за единичен мрежов пакет на индивидуално ниво? Какво можем да знаем освен това, което вече знаем?

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

Анализът на пакетите означава да си изцапате ръцете и да бръкнете в самия водопровод, за да разберете нещо. Като цяло трябва да анализирате мрежови пакети, когато всичко останало е неуспешно. Обикновено това включва привидно безнадеждни сценарии, както следва:

  • Необяснима загуба на секретни данни въпреки липсата на очевидно нарушение
  • Диагностициране на бавни приложения, когато изглежда, че няма никакви доказателства
  • Уверете се, че вашият компютър/мрежа не е бил компрометиран
  • Доказване или опровергаване, че нападателят не е такъв пиггибекинг изключен от вашия WiFi
  • Разберете защо вашият сървър е тясното място въпреки ниския трафик

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

Всичко е за мозъка! (източник: dailydot.com)

Що се отнася до истинска история, мисля, че този коментар в публикацията в блога е намерен тук е изключителен (възпроизведен тук за всеки случай):

Приложение, критично за моята компания, показваше проблеми с производителността, падаше по лице при внедряването на клиента. Това беше приложение за ценообразуване на акции, използвано начело на заводите за тикер във финансови компании по целия свят. Ако сте имали 401(k) около 2000 г., вероятно е зависело от това приложение. Направих анализ от вида, който описвате, по-специално поведението на TCP. Посочих проблема като в внедряването на TCP от доставчика на операционната система. Поведението с грешки беше, че когато изпращащият стек влезе в контрол на задръстванията, той никога не се възстановяваше. Това доведе до комично малък прозорец за изпращане, понякога само няколко кратни на MSS.

Отне известно време да се борим с мениджърите на акаунти и хората от поддръжката на разработчиците от доставчика на ОС, които не разбираха проблема, моето обяснение или че проблемът *не може* да е в приложението, защото приложението е блажено невежо за TCP машинации. Беше като да говоря на стена. Започвах от начало с всеки конферентен разговор. В крайна сметка се свързах по телефона с човек, с когото можех да проведа добра дискусия. Оказва се, че той е поставил разширенията RFC1323 в стека! На следващия ден имах кръпка към операционната система в ръцете си и продуктът работеше перфектно от този момент нататък.

  Спрете автоматичното възпроизвеждане в Chrome, Firefox, Opera, Safari и IE

Разработчикът обясни, че има грешка, която е причинила входящите ACK *с полезни товари* да бъдат неправилно категоризирани като DUPACK, когато стекът е бил в контрол на задръстванията.

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

По това време нямах много подкрепа от ръководството (мениджърът ми дори ми се развика, че „винаги искам да използвам снифър“ за отстраняване на проблеми) и никой освен мен не гледаше на TCP внедряването на доставчика на ОС като източник на проблема. Борбата с корекцията от доставчика на операционната система направи тази победа особено сладка, спечели ми много капитал, за да се справя сам и доведе до най-интересните проблеми, които се появяват на бюрото ми.

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

Корекцията не беше настройка в приложението, а корекция от разработчиците на операционната система! 😮

Момче, о, момче. . . Без анализ на ниво пакет, къде мислите, че би бил този човек? Вероятно без работа. Ако това не ви убеди във важността на анализа на пакети (наричан още пакетно снифиране), не знам какво ще. 🙂

Сега, след като знаете, че анализът на пакети е суперсила, имам добра новина: не е трудно да го направите!

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

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

Wireshark

Wireshark е стар проект (започна през далечната 1998 г.), който до голяма степен е индустриалният стандарт, когато става въпрос за гмуркане дълбоко в мрежите. Впечатляващо е, когато вземете предвид, че това е чисто доброволческа организация, подкрепена от някои щедри спонсори. Wireshark остава с отворен код (не в GitHub, но кодът може да бъде намерен тук) и дори има техн конференция на името си!

Сред многото възможности на Wireshark са:

  • Поддръжка на стотици мрежови протоколи.
  • Оперативно съвместим с много файлови формати (tcpdump (libpcap), Pcap NG, Catapult DCT2000, Cisco Secure IDS iplog, Microsoft Network Monitor, Network General Sniffer® (компресиран и некомпресиран), Sniffer® Pro и NetXray® и т.н.).
  • Работете на почти всички платформи (Linux, Windows, macOS, Solaris, FreeBSD и други).
  • Четене на данни на живо от Ethernet, IEEE 802.11, PPP/HDLC, ATM, Bluetooth, USB, Token Ring и др.
  • Gzip декомпресия в движение.
  • Поддържат се множество протоколи за декриптиране (WPA/WPA2, SNMPv3 и др.)
  • Обширен VoIP анализ
  • Правила за оцветяване за по-бързо визуално сканиране

Вижте този фантастичен онлайн курс, за да ще ви научи да овладеете Wireshark.

Търсите Wireshark във вашия терминал? Разбира се, опитай Termshark

tcpdump

Ако сте от старата школа (четете хардкор наркомана на командния ред), tcpdump е за теб.

Това е още една от онези емблематични помощни програми за Linux (като curl), които остават толкова актуални, колкото винаги, дотолкова, че почти всички други „по-фантастични“ инструменти се основават на нея. Както казах преди, няма графична среда, но инструментът повече от компенсира това.

Но инсталирането му може да бъде трудно; докато tcpdump идва в комплект с повечето съвременни Linux дистрибуции, ако вашата не го прави, тогава ще трябва да изграждате от изходния код.

tcpdump командите са кратки и прости, насочени към решаване на конкретен проблем като:

  • Показване на всички налични интерфейси
  • Заснемане само на един от интерфейсите
  • Запазване на заснетите пакети във файл
  • Улавяне само на неуспешни пакети
  Тествайте знанията си за безопасност на полетите и се научете да оцелеете при въздушна катастрофа

. . . и така нататък.

Ако нуждите ви са прости и трябва да стартирате бързо сканиране, tcpdump може да бъде чудесен вариант за разглеждане (особено ако въведете tcpdump и установите, че вече е инсталиран!). Вижте тази публикация за някои примери за команда tcpdump в реално време.

Tпрокси

Tпрокси е прост инструмент за команден ред с отворен код за прокси TCP връзки през мрежата. Tproxy е написан на езика за програмиране Go и е инструмент за команден ред на Go и е опакован като двоичен файл на Go, така че е наличен на всички съвременни платформи Linux и macOS.

Изображението по-долу показва командния ред за наблюдение на Mysql връзки:

Основната му употреба е да прокси HTTP връзки и да инспектира съдържанието на HTTP заявката и отговорите. Може да се използва и за прокси на други протоколи, като SOCKS или TCP. Може да се използва за прокси TCP връзки между два хоста или за анализ на трафика при жива връзка. Полезно е за отстраняване на грешки и тестване на приложения, които използват TCP като транспортен протокол, и за изграждане на TCP прокси услуги.

Той е написан с цел да предостави лесен за използване интерфейс към помощната програма за команден ред tcpdump, позволявайки на потребителите да прокси TCP връзки и да извършват други разширени мрежови анализи, без да е необходимо да разбират основния TCP протокол.

Под командния ред се показват gRPC връзки:

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

По-долу са дадени още няколко употреби на Tproxy

  • Полезно е за отстраняване на грешки и оптимизиране на TCP връзки.
  • Също така е полезно за разбиране как работят други прокси програми, като Burp Suite и ZAP.
  • Може да се използва за прокси TCP връзки между два хоста или между хост и отдалечена TCP услуга, като база данни или уеб услуга.
  • Наблюдавайте MySQL връзките и gRPC връзките и също така проверявайте надеждността на връзката по отношение на Retrans rate и RTT

Повечето потребители ще открият, че Tproxy опростява работния им процес и им позволява да извършват сложен мрежов анализ и да анализират уеб приложения, без да е необходимо да променят приложението или самата мрежа. Инструментът може да бъде изтеглен от GitHub.

NetworkMiner

Популяризирайки себе си като инструмент за криминалистичен мрежов анализ (FNAT), NetworkMiner е един от най-добрите анализатори на ниво пакети, които ще срещнете. Това е инструмент с отворен код, който може пасивно да анализира мрежа и се предлага с впечатляващ GUI интерфейс за анализ, който може да показва отделни изображения и други прехвърлени файлове.

Но това не е всичко. NetworkMiner идва с отлични други функции като:

  • Поддръжка на IPv6
  • Разбор на PCAP файлове
  • Извличайте X.509 сертификати от SSL криптиран трафик
  • Pcap-над-IP
  • Работи с няколко типа трафик, като FTP, TFTP, HTTP, SMB, SMB2, SMTP, POP3 и др.
  • OS пръстови отпечатъци
  • Гео IP локализация
  • Поддръжка на скриптове от командния ред

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

цигулар

За разлика от други пасивни мрежови снифъри, цигулар е нещо, което се намира между вашето устройство и външния свят и следователно изисква известна настройка (затова ли са го кръстили „Fiddler“? 😉).

Това е персонализиран (използващ FiddlerScript) безплатен инструмент, който има дълга и отличителна история, така че ако целта ви е да надушвате HTTP/HTTPS трафик като шеф, Fiddler е правилният начин.

Има много неща, които можете да правите с Fiddler, особено ако сте в настроение да облечете хакерската качулка:

  • Манипулиране на сесии: Отваряне на HTTP заглавки и данни за сесии, модифициране по какъвто начин желаете.
  • Тестване на сигурността: Позволява ви да симулирате атаки човек по средата и да дешифрирате целия HTTPS трафик вместо вас.
  • Тестване на производителността: Анализирайте времето за зареждане на страницата (или API отговор) и вижте коя част от отговора е тясното място.

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

WinDump

Ако ви липсва простотата на tcpdump и искате да го пренесете във вашите Windows системи, поздравете WinDump. Веднъж инсталиран, той работи от командния ред, като напишете „tcpdump“ по същия начин, по който помощната програма работи на Linux системи.

Имайте предвид, че няма нищо за инсталиране само по себе си; WinDump е двоичен файл, който може да се стартира веднага, при условие че имате инсталирана реализация на Pcap библиотека (npcap се препоръчва, тъй като winpcap вече не се разработва).

  Добавете аудио към вашите Gif файлове

BruteShark

BruteShark е ефективен инструмент за мрежов съдебен анализ (NFAT), който можете да използвате за обработка и проверка на мрежовия трафик, като например PCAP файлове, и заснемане директно от мрежови интерфейси.

Включва реконструиране на TCP сесии, изграждане на мрежови карти, извличане на хешове на силно криптирани пароли, конвертиране на хешове във формат Hashcat за извършване на Brute Force атака офлайн.

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

Налични са две версии на BruteShark: базирано на графичен потребителски интерфейс (GUI) приложение за Windows и CLI инструмент за Linux и Windows. Някои от проектите, включени в това решение, могат дори да се използват независимо за анализ на мрежовия трафик на Windows и Linux машини.

BruteShark може също така да извършва различни операции като извличане на DNS заявки, изрязване на файлове, извличане на VoIP повиквания (SIP, RTP), изграждане на мрежова диаграма за потребители и мрежови възли, извличане на хешове за удостоверяване с помощта на Hashcat (NTLM, HTTP-Digest, CRAM-MD5, Kerberos, и т.н.) и извличане и кодиране на пароли и потребителски имена.

Всички проекти се изпълняват чрез .Net Standard и .Net Core за кросплатформена и модерна поддръжка. Това решение предлага трислойна архитектура и включва един или няколко проекта, включително PL, BLL и DAL на всеки слой.

Чрез DAL (слой за достъп до данни) проектът помага при четене на необработени файлове на PCAP с помощта на драйвери като WinPcap, libpcap и библиотеки за обвивки като SharpPcap. По същия начин BLL (Business Logic Layer) е отговорен за анализа на мрежовата информация (TCP, пакет и т.н.), а PL използва междусекторен проект и се отнася както за BLL, така и за DAL слоеве.

OmniPeek

За по-големи мрежи, които имат тонове MB данни, преминаващи през тях всяка секунда, инструментите, които всички други използват, може да изчезнат. Ако сте изправени пред същото, OmniPeek може би си струва да се погледне.

Това е инструмент за производителност, анализи и криминалистика за анализиране на мрежи, особено когато се нуждаете както от възможности на ниско ниво, така и от изчерпателни табла за управление.

Източник: sniffwifi.com

Капса

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

Въпреки това дори безплатната версия поддържа над 300 протокола и има интересни функции като предупреждения (задействани, когато са изпълнени определени условия). Стандартното предложение е едно ниво по-горе, поддържа 1000+ протокола и ви позволява да анализирате разговори и да реконструирате потоци от пакети.

Като цяло, солидна опция за потребителите на Windows.

EtherApe

Ако търсите мощни визуализации и отворен код, EtherApe е страхотен вариант. Въпреки че предварително изградените бинарни файлове са налични само за няколко дистрибуции на Linux, изходният код е наличен (както в SourceForge, така и в GitHub), така че изграждането му сами е опция.

Ето какво прави EtherApe страхотен според мен:

  • Многовъзлов, цветно кодиран мониторинг.
  • Поддръжка на множество пакетни формати като ETH_II, 802.2, 803.3, IP, IPv6, ARP, X25L3, REVARP, ATALK, AARP, IPX, VINES, TRAIN, LOOP, VLAN и др. (всъщност много, много, още) .
  • Четете данни на живо от „проводника“ или от tcpdump файл.
  • Поддържа стандартна резолюция на имена
  • От последните версии GUI е преместен в GTK3, което води до по-приятно изживяване.

CommView

Ако сте ексклузивен магазин за Windows и цените удобството на приоритетната поддръжка, CommView се препоръчва. Това е мощен анализатор на мрежов трафик с вградени разширени функции като анализ на VoIP, дистанционно проследяване и др.

Това, което ме впечатли най-много, е способността му да експортира данни във формати, използвани от няколко отворени и частни формата, като Sniffer®, EtherPeek™, AiroPeek™, Observer®, NetMon, Wireshark/Tcpdump и Wireshark/pcapng, и дори обикновени шестнадесетични дъмпове .

Wifi Explorer

Последен в списъка е Wifi Explorer, който има безплатна версия за Windows и стандартна версия за Windows и macOS. Ако анализът на WiFi мрежа е всичко, от което се нуждаете (което е почти стандарт в наши дни), тогава Wifi Explorer ще улесни живота ви.

Това е красиво проектиран и богат на функции инструмент за рязане направо в сърцето на мрежата.

Почетно споменаване: Би било лоша услуга да затворя тази публикация, без да спомена ексклузивен за macOS мрежов анализатор, на който попаднах – Малък снич. Той има вградена защитна стена, така че идва с допълнителното предимство незабавно да ви позволи да контролирате идеално целия трафик (което може да изглежда неприятно, но е огромна печалба в дългосрочен план).

Какво следва?

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