12 аналізаторів мережевих пакетів для системних адміністраторів і аналітиків безпеки

Ваша мережа є основою ваших бізнес-операцій. Переконайтеся, що ви знаєте, що відбувається глибоко всередині нього.

У багатьох відношеннях ландшафт для цифрового бізнесу пережив одну або дві революції. Що починалося з простого Скрипти CGI написаний на Perl, тепер переріс у кластерні розгортання, які працюють повністю автоматизовано на Kubernetes та інших платформах оркестровки (вибачте за важкий жаргон — я зовсім не вигадую; зараз так йдуть справи!).

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

Але я не можу не посміхнутися при думці, що основи все ще залишаються такими ж, якими були в 1970-х роках.

Усе, що ми маємо, — це абстракції за абстракціями, які підтримуються жорсткими фізичними кабелями, які утворюють мережу (гаразд, є віртуальні мережі, це добре, але ви зрозуміли). Якщо ми хочемо пофантазувати, ми можемо розділити мережу на рівні відповідно до моделі OSI, але все сказано і зроблено, ми завжди, завжди маємо справу з протоколи TCP/IP (попередження, попереду важке читання!), ping, маршрутизатори, усі вони мають одну спільну мету — передачу пакетів даних.

Отже, що таке мережевий пакет?

Незалежно від того, що ми робимо — спілкуємося в чаті, транслюємо відео, граємо в Інтернет, займаємося серфінгом, купуємо речі — це, по суті, обмін пакетами даних між двома комп’ютерами (мережами). «Пакет» — це найменша одиниця інформації, що передається в мережі (або між мережами), і існує чітко визначений метод побудови та перевірки мережевих пакетів (виходить за межі цієї статті, але якщо ви бажаєте пригод, ось більше).

Потік пакетів у мережі (джерело: training.ukdw.ac.id)

Простіше кажучи, кожен пакет представляє собою ланку в ланцюжку, правильно передається в джерелі та перевіряється в пункті призначення. Навіть якщо один пакет надходить або замовляється, процес призупиняється, доки не будуть отримані всі пакети в правильному порядку, і лише тоді вони об’єднуються для формування даних, які вони спочатку представляли (наприклад, зображення).

Тепер, коли ми розуміємо, що таке мережа, необхідно зрозуміти, що робить мережевий аналізатор. Це інструмент, який дозволяє вам переглядати окремі пакети у вашій мережі.

Але навіщо вам так клопотати? Давайте обговоримо це далі.

Навіщо нам аналізувати пакети?

Схоже, що пакети є майже основними будівельними блоками в мережевому потоці даних, подібно до того, як атоми є основою всієї матерії (так, я знаю, це не справжні фундаментальні частинки, але це досить хороша аналогія для наших цілей) . І коли справа доходить до аналізу матеріалів або газів, ми ніколи не турбуємося про те, що робить окремий атом; Отже, навіщо турбуватися про один мережевий пакет на індивідуальному рівні? Що ми можемо знати крім того, що вже знаємо?

Важко сказати про важливість аналізу на рівні пакетів, якщо вас раніше не кусали в спину, але я спробую.

Аналіз пакетів означає забруднити руки й залізти в саму трубу, щоб щось з’ясувати. Як правило, вам потрібно аналізувати мережеві пакети, коли все інше не вдається. Як правило, це включає, здавалося б, безнадійні сценарії:

  • Незрозуміла втрата секретних даних, незважаючи на відсутність очевидного порушення
  • Діагностика повільних програм, коли здається, що немає жодних доказів
  • Переконайтеся, що ваш комп’ютер/мережа не зламано
  • Доведення або спростування того, що зловмисник не є контрейлерний від вашого Wi-Fi
  • З’ясувати, чому ваш сервер є вузьким місцем, незважаючи на низький трафік

Загалом, аналіз пакетів підпадає під певні, надійні типи доказів. Якщо ви знаєте, як проводити аналіз пакетів і маєте знімок, ви можете вберегти себе від помилкових звинувачень у зломі або просто звинуватити вас як некомпетентного розробника чи адміністратора мережі.

Вся справа в мізках! (джерело: dailydot.com)

Щодо реальної історії, я думаю, що цей коментар до публікації в блозі знайдений тут є винятковим (тут відтворено про всяк випадок):

Додаток, який має важливе значення для моєї компанії, мав проблеми з продуктивністю та падав на обличчя під час розгортання замовником. Це була програма для ціноутворення акцій, яку використовували керівники біржових ліній у фінансових компаніях по всьому світу. Якщо у вас був 401(k) близько 2000 року, це, ймовірно, залежало від цієї програми. Я провів аналіз типу, який ви описували, зокрема поведінки TCP. Я вказав, що проблема полягає в реалізації TCP постачальником ОС. Помилка поведінки полягала в тому, що щоразу, коли стек надсилання переходив у контроль перевантаження, він ніколи не відновлювався. Це призвело до комічно маленького вікна надсилання, іноді лише в кілька кратних MSS.

  Як змінити своє місцезнаходження в Firefox

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

Розробник пояснив, що виникла помилка, через яку вхідні 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 короткі та прості, спрямовані на вирішення конкретної проблеми, наприклад:

  • Відображення всіх доступних інтерфейсів
  • Захоплення лише одного з інтерфейсів
  • Збереження захоплених пакетів у файл
  • Перехоплення лише невдалих пакетів
  Що означає «FTFY» і як ви його використовуєте?

. . . і так далі.

Якщо ваші потреби прості та вам потрібно запустити швидке сканування, 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 і RTT

Більшість користувачів побачать, що Tproxy спрощує їхній робочий процес і дозволяє виконувати складний аналіз мережі та аналізувати веб-додатки без необхідності змінювати програму чи саму мережу. Інструмент можна завантажити з GitHub.

NetworkMiner

Рекламуючи себе як засіб криміналістичного аналізу мереж (FNAT), NetworkMiner є одним із найкращих аналізаторів рівня пакетів, які ви зустрінете. Це інструмент із відкритим кодом, який може пасивно аналізувати мережу та має вражаючий графічний інтерфейс для аналізу, який може показувати окремі зображення та інші передані файли.

Але це ще не все. NetworkMiner має чудові інші функції, такі як:

  • Підтримка IPv6
  • Розбір файлів PCAP
  • Витягуйте сертифікати X.509 із трафіку, зашифрованого SSL
  • Pcap-over-IP
  • Працює з кількома типами трафіку, такими як FTP, TFTP, HTTP, SMB, SMB2, SMTP, POP3 тощо.
  • відбитки ОС
  • Гео IP локалізація
  • Підтримка сценаріїв командного рядка

Зауважте, що деякі з цих функцій доступні в комерційній версії.

Скрипаль

На відміну від інших пасивних мережевих сніферів, Скрипаль це те, що знаходиться між вашим пристроєм і зовнішнім світом і, отже, вимагає певного налаштування (чи тому вони назвали його «Fiddler»? 😉).

Це настроюваний (за допомогою FiddlerScript) безкоштовний інструмент, який має довгу та видатну історію, тож якщо ваша мета — нюхати трафік HTTP/HTTPS, як бос, Fiddler — це ваш шлях.

Ви можете багато чого робити з Fiddler, особливо якщо ви в настрої одягнути хакерську толстовку:

  • Маніпуляція сеансом: відкрийте HTTP-заголовки та дані сеансу, змінюючи їх будь-яким способом.
  • Тестування безпеки: дозволяє імітувати атаки типу “людина посередині” та розшифровувати весь трафік HTTPS.
  • Тестування продуктивності: проаналізуйте час завантаження сторінки (або відповідь API) і подивіться, яка частина відповіді є вузьким місцем.

Якщо ви почуваєтеся втраченими, документація дуже добре і настійно рекомендується.

WinDump

Якщо вам не вистачає простоти tcpdump і ви хочете перенести його на свої системи Windows, вітаємо WinDump. Після встановлення вона працює з командного рядка, ввівши «tcpdump» так само, як утиліта працює в системах Linux.

Зауважте, що не потрібно нічого інсталювати; WinDump — це двійковий файл, який можна запустити відразу, за умови, що у вас встановлено реалізацію бібліотеки Pcap (npcap рекомендується, оскільки winpcap більше не розробляється).

BruteShark

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

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

  Як встановити оновлення BIOS Spectre для вашого ПК

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

Доступні дві версії 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 (рівень бізнес-логіки) відповідає за аналіз мережевої інформації (TCP, пакет тощо), а PL використовує наскрізний проект і посилається на рівні BLL і DAL.

OmniPeek

Для великих мереж, через які щосекунди протікає маса даних, інструменти, якими користуються всі інші, можуть вичерпатися. Якщо ви зіткнулися з тим же, 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.
  • Підтримує стандартну роздільну здатність імен
  • Починаючи з останніх версій, графічний інтерфейс користувача було переміщено до GTK3, що стало приємнішим.

CommView

Якщо ви ексклюзивний магазин для Windows і цінуєте зручність пріоритетної підтримки, CommView рекомендовано. Це потужний аналізатор мережевого трафіку з такими розширеними функціями, як аналіз VoIP, віддалене відстеження тощо.

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

Wifi Explorer

Останній у списку Wifi Explorer, яка має безкоштовну версію для Windows і стандартну версію для Windows і macOS. Якщо аналіз мережі Wi-Fi — це все, що вам потрібно (що сьогодні є майже стандартом), то Wifi Explorer полегшить життя.

Це чудово розроблений і багатофункціональний інструмент для роботи прямо в серці мережі.

Почесна згадка: було б поганою послугою закрити цю публікацію, не згадавши ексклюзивний аналізатор мережі для macOS, на який я випадково натрапив — Маленький снитч. Він має вбудований брандмауер, тому він має додаткову перевагу, оскільки дозволяє негайно контролювати весь трафік ідеально (що може здатися неприємним, але в довгостроковій перспективі є величезною перевагою).

Що далі?

Ви також повинні вивчити це програмне забезпечення для моніторингу мережі для кращої видимості інфраструктури. Якщо ви прагнете побудувати кар’єру в галузі мереж і безпеки, перегляньте деякі з них найкращі онлайн-курси тут.