Перегляд пакетів – це глибокий тип мережевого аналізу, в якому декодуються деталі мережевого трафіку для аналізу. Це одна з найважливіших навичок усунення несправностей, якими повинен володіти будь-який мережевий адміністратор. Аналіз мережевого трафіку є складним завданням. Щоб впоратися з ненадійними мережами, дані не передаються одним безперервним потоком. Замість цього його подрібнюють на фрагменти, надіслані окремо. Аналіз мережевого трафіку передбачає можливість зібрати ці пакети даних і зібрати їх у щось значуще. Це не те, що ви можете зробити вручну, тому були створені аналізатори пакетів і аналізатори мережі. Сьогодні ми розглянемо сім найкращих аналізаторів пакетів і мережевих аналізаторів.
Ми розпочнемо сьогоднішню подорож, надавши вам довідкову інформацію про те, що таке перевірка пакетів. Ми спробуємо з’ясувати, яка різниця – або чи є різниця – між аналізатором пакетів і аналізатором мережі. Далі ми перейдемо до суті нашої теми, а не лише до списку, а й коротко розглянемо кожен із семи наших вибраних. У нас для вас є комбінація інструментів GUI та утиліт командного рядка, які працюють у різних операційних системах.
Кілька слів про перевірку пакетів і аналізатори мережі
Давайте почнемо з того, що щось вирішимо. Заради цієї статті ми припустимо, що перевірка пакетів і аналізатор мережі — це одне й те саме. Деякі стверджують, що вони різні, і вони можуть бути праві. Але в контексті цієї статті ми розглянемо їх разом, головним чином тому, що, хоча вони можуть працювати по-різному – але чи справді вони? – вони служать одній меті.
Сніфери пакетів зазвичай виконують три речі. По-перше, вони захоплюють всі пакети даних, коли вони входять або виходять з мережевого інтерфейсу. По-друге, вони за бажанням застосовують фільтри, щоб ігнорувати деякі пакети та зберігати інші на диск. Потім вони виконують певну форму аналізу отриманих даних. Саме в цій останній функції аналізаторів пакетів вони відрізняються найбільше.
Для фактичного захоплення пакетів даних більшість інструментів використовують зовнішній модуль. Найпоширенішими є libpcap у системах Unix/Linux та Winpcap у Windows. Зазвичай вам не доведеться встановлювати ці інструменти, оскільки вони зазвичай встановлюються різними установниками інструментів.
Ще одна важлива річ, яку потрібно знати, це те, що Packet Sniffers — навіть найкращий — не зробить все за вас. Вони лише інструменти. Це як молоток, який сам по собі не заб’є жодного цвяха. Отже, вам потрібно переконатися, що ви навчилися найкраще використовувати кожен інструмент. Сніфер пакетів просто дозволить вам побачити трафік, але ви повинні використовувати цю інформацію для пошуку проблем. Існують цілі книги про використання інструментів захоплення пакетів. Я сама колись проходила триденний курс на цю тему. Я не намагаюся вас відрадити. Я лише намагаюся виправдати ваші очікування.
Як використовувати пакетний аналізатор
Як ми вже пояснювали, сніфер пакетів буде захоплювати та аналізувати трафік. Отже, якщо ви намагаєтеся усунути конкретну проблему, яка зазвичай є причиною використання такого інструменту, вам спочатку потрібно переконатися, що трафік, який ви збираєте, є правильним. Уявіть собі ситуацію, коли всі користувачі скаржаться, що конкретна програма працює повільно. У такій ситуації найкращим варіантом буде захоплення трафіку через мережевий інтерфейс сервера додатків. Тоді ви можете зрозуміти, що запити надходять на сервер нормально, але сервер займає багато часу, щоб надіслати відповіді. Це вказує на проблему з сервером.
Якщо, з іншого боку, ви бачите, що сервер відповідає вчасно, це, можливо, означає, що проблема десь у мережі між клієнтом і сервером. Потім ви перемістили б аналізатор пакетів на один крок ближче до клієнта і подивіться, чи не затримуються відповіді. Якщо це не так, ви наближаєтеся до клієнта, і так далі, і так далі. Зрештою ви дійдете до місця, де виникають затримки. І як тільки ви визначили місце проблеми, ви на один великий крок ближче до її вирішення.
Тепер вам може бути цікаво, як нам вдається захопити пакети в певний момент. Це досить просто, ми використовуємо переваги більшості мережевих комутаторів, які називаються дзеркальним відображенням портів або реплікацією. Це параметр конфігурації, який реплікує весь трафік, що входить і виходить із певного порту комутатора, на інший порт того самого комутатора. Скажімо, ваш сервер підключений до порту 15 комутатора, і цей порт 23 того самого комутатора доступний. Ви підключаєте перевірку пакетів до порту 23 і налаштовуєте комутатор на реплікацію всього трафіку з порту 15 на порт 23. В результаті на порту 23 ви отримуєте дзеркальне відображення того, що проходить через порт 15, тобто ім’я дзеркального відображення порту.
Найкращі аналізатори пакетів і мережеві аналізатори
Тепер, коли ви краще розумієте, що таке аналізатори пакетів і аналізатори мережі, давайте подивимося, які сім найкращих ми могли знайти. Ми намагалися включити поєднання інструментів командного рядка та графічного інтерфейсу, а також інструменти, що працюють на різних операційних системах. Зрештою, не всі адміністратори мережі працюють під керуванням Windows.
1. Інструмент глибокої перевірки та аналізу пакетів SolarWinds (БЕЗКОШТОВНА ПРОБНА ОПЕРАЦІЯ)
SolarWinds добре відомий своїми багатьма корисними безкоштовними інструментами та сучасним програмним забезпеченням для керування мережею. Один з його інструментів називається інструментом глибокої перевірки та аналізу пакетів. Він постачається як компонент флагманського продукту SolarWinds — Network Performance Monitor. Його робота суттєво відрізняється від більш «традиційних» сніферів пакетів, хоча вона виконує подібну мету.
Підсумуємо функціональні можливості інструмента: він допоможе вам знайти та усунути причину затримок в мережі, визначити додатки, на які впливає, і визначити, чи повільність спричинена мережею чи програмою. Програмне забезпечення також використовуватиме методи глибокої перевірки пакетів для розрахунку часу відповіді для понад дванадцяти сотень програм. Він також класифікує мережевий трафік за категоріями, бізнесом та соціальними рівнями та рівнем ризику, що допоможе вам визначити некомерційний трафік, який може знадобитися відфільтрувати або іншим чином усунути.
І не забувайте, що інструмент глибокої перевірки та аналізу пакетів SolarWinds поставляється як частина моніторингу продуктивності мережі. NPM, як його часто називають, — це вражаюче програмне забезпечення з такою кількістю компонентів, що йому можна було б присвятити цілу статтю. По суті, це повне рішення для моніторингу мережі, яке поєднує в собі найкращі технології, такі як SNMP і глибоку перевірку пакетів, щоб надати якомога більше інформації про стан вашої мережі. Інструмент за розумною ціною має 30-денну безкоштовну пробну версію, щоб ви могли переконатися, що він дійсно відповідає вашим потребам, перш ніж купувати його.
Офіційне посилання для завантаження: https://www.solarwinds.com/topics/deep-packet-inspection
2. tcpdump
Tcpdump це, ймовірно, оригінальний аналізатор пакетів. Він був створений ще в 1987 році. З тих пір він підтримувався та вдосконалювався, але залишився по суті незмінним, принаймні так, як воно використовується. Він попередньо встановлений практично в кожній операційній системі, подібній Unix, і став де-факто стандартом, коли потрібен швидкий інструмент для захоплення пакетів. Tcpdump використовує бібліотеку libpcap для фактичного захоплення пакетів.
За замовчуванням. tcpdump фіксує весь трафік на вказаному інтерфейсі і «скидає» його — звідси й його назва — на екран. Дамп також можна передати у файл захоплення та проаналізувати пізніше за допомогою одного або комбінації кількох доступних інструментів. Ключем до сили та корисності tcpdump є можливість застосовувати всілякі фільтри та передавати його вихід у grep – іншу поширену утиліту командного рядка Unix – для подальшої фільтрації. Хтось, хто добре знає tcpdump, grep і командну оболонку, може змусити його захоплювати саме потрібний трафік для будь-якого завдання налагодження.
3. Windump
Windump по суті, це просто порт tcpdump на платформу Windows. Таким чином, він поводиться приблизно так само. Нерідко можна побачити такі порти успішних допоміжних програм з однієї платформи на іншу. Windump — це програма для Windows, але не очікуйте вишуканого графічного інтерфейсу. Це утиліта лише для командного рядка. Таким чином, використання Windump в основному те саме, що використання його аналога Unix. Параметри командного рядка однакові, а результати також майже ідентичні. Вихідні дані Windump також можна зберегти у файл для подальшого аналізу за допомогою стороннього інструменту.
Однією з основних відмінностей від tcpdump є те, що Windump не вбудований у Windows. Вам доведеться завантажити його з Веб-сайт Windump. Програмне забезпечення постачається у вигляді виконуваного файлу і не вимагає встановлення. Однак, як і tcpdump використовує бібліотеку libpcap, Windump використовує Winpcap, який, як і більшість бібліотек Windows, потрібно завантажити та встановити окремо.
4. Wireshark
Wireshark є посиланням у перевірках пакетів. Він став де-факто стандартом, і більшість інших інструментів, як правило, наслідують його. Цей інструмент не тільки фіксує трафік, він також має досить потужні можливості аналізу. Настільки потужний, що багато адміністраторів використовують tcpdump або Windump для захоплення трафіку до файлу, а потім завантажують файл у Wireshark для аналізу. Це настільки поширений спосіб використання Wireshark, що під час запуску вам буде запропоновано відкрити існуючий файл pcap або почати фіксувати трафік. Ще однією перевагою Wireshark є всі фільтри, які він включає, які дозволяють зосередитися на саме тих даних, які вас цікавлять.
Чесно кажучи, цей інструмент має круту криву навчання, але його варто вивчити. Це знову і знову буде безцінним. І як тільки ви його навчитеся, ви зможете використовувати його скрізь, оскільки він був перенесений майже на кожну операційну систему, і він є безкоштовним і відкритим.
5. акула
Царк це ніби щось середнє між tcpdump і Wireshark. Це чудова річ, оскільки вони є одними з найкращих сніферів пакетів. Tshark подібний tcpdump тим, що це інструмент лише командного рядка. Але він також схожий на Wireshark тим, що він не тільки фіксує, але й аналізує трафік. Tshark від тих же розробників, що й Wireshark. Це, більш-менш, версія командного рядка Wireshark. Він використовує той самий тип фільтрації, що й Wireshark, і тому може швидко ізолювати лише трафік, який потрібно проаналізувати.
Але чому, можливо, комусь потрібна версія Wireshark для командного рядка? Чому б просто не використовувати Wireshark; з його графічним інтерфейсом, він має бути простішим у використанні та навчанні? Основна причина полягає в тому, що це дозволить вам використовувати його на сервері без графічного інтерфейсу.
6. Мережевий Майнер
Мережевий Майнер це більше інструмент судової експертизи, ніж справжній перевірку пакетів. Network Miner буде слідкувати за потоком TCP і відновить всю розмову. Це дійсно один потужний інструмент. Він може працювати в автономному режимі, коли ви імпортуєте якийсь файл захоплення, щоб Network Miner попрацював. Це корисна функція, оскільки програмне забезпечення працює лише в Windows. Ви можете використовувати tcpdump у Linux для захоплення трафіку та Network Miner у Windows для його аналізу.
Network Miner доступний у безкоштовній версії, але для більш розширених функцій, таких як геолокація на основі IP-адреси та створення сценаріїв, вам потрібно буде придбати ліцензію Profesional. Іншою розширеною функцією професійної версії є можливість декодування та відтворення VoIP-дзвінків.
7. Fiddler (HTTP)
Деякі з наших більш обізнаних читачів можуть стверджувати, що Fiddler не є аналізатором пакетів і не є аналізатором мережі. Ймовірно, вони мають рацію, але ми вважали, що повинні включити цей інструмент у наш список, оскільки він дуже корисний у багатьох ситуаціях. Скрипаль насправді буде захоплювати трафік, але не будь-який. Він працює лише з трафіком HTTP. Ви можете уявити, наскільки він може бути цінним, незважаючи на його обмеженість, якщо врахувати, що сьогодні так багато програм є веб-орієнтованими або використовують протокол HTTP у фоновому режимі. І оскільки Fiddler захоплюватиме не лише трафік браузера, а й майже будь-який HTTP, він дуже корисний для усунення несправностей
Перевага такого інструменту, як Fiddler, над надійним сніфером пакетів, як, наприклад, Wireshark, полягає в тому, що Fiddler був створений для «розуміння» HTTP-трафіку. Він, наприклад, виявить файли cookie та сертифікати. Він також знайде фактичні дані, що надходять із HTTP-програм. Fiddler безкоштовний і доступний лише для Windows, хоча можна завантажити бета-версії для OS X і Linux (використовуючи структуру Mono).
Висновок
Коли ми публікуємо такі списки, нас часто запитують, який із них найкращий. У цій конкретній ситуації, якби мені поставили це питання, я б мав відповісти «на всі». Усі вони є безкоштовними інструментами і мають свою цінність. Чому б не мати їх усі під рукою і не ознайомитися з кожним. Коли ви потрапите в ситуацію, коли вам потрібно їх використовувати, це буде набагато простіше та ефективніше. Навіть інструменти командного рядка мають величезну цінність. Наприклад, їх можна створити за сценарієм та запланувати. Уявіть, що у вас є проблема, яка виникає о 2:00 щодня. Ви можете запланувати завдання для запуску tcpdump Windump між 1:50 і 2:10 і проаналізувати файл захоплення наступного ранку. Не потрібно спати всю ніч.