Програми контролю інтернет-трафіку windows. Як відстежити трафік у мережі

Багато адміністраторів мереж часто стикаються з проблемами, розібратися з якими допоможе аналіз мережевого трафіку. І тут ми стикаємося з таким поняттям як аналізатор трафіку. То що це таке?

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

Термін « NetFlow» відноситься до протоколу Cisco , призначеного для збору інформації про трафік по IP та моніторингу мережного трафіку. NetFlow був прийнятий як стандартного протоколудля потокових технологій.

Програмне забезпечення NetFlow збирає та аналізує дані потоків, що генеруються маршрутизаторами, та представляє їх у зручному для користувачів форматі.

Декілька інших постачальників мережного обладнання мають свої власні протоколи для моніторингу та збору даних. Наприклад, Juniper, інший вельми шанований постачальник мережевих пристроїв, називає свій протокол. J-Flow“. HP і Fortinet використовують термін « s-Flow“. Незважаючи на те, що протоколи називаються по-різному, вони працюють аналогічним чином. У цій статті ми розглянемо 10 безкоштовних аналізаторів мережевого трафіку та колекторів NetFlow для Windows.

SolarWinds Real-Time NetFlow Traffic Analyzer


Free NetFlow Traffic Analyzer є одним з найпопулярніших інструментів, доступних для безкоштовного скачування. Він дає можливість сортувати, помічати та відображати дані різними способами. Це дозволяє зручно візуалізувати та аналізувати мережевий трафік. Інструмент відмінно підходить для моніторингу мережного трафіку за типами та періодами часу. А також виконання тестів для визначення того, скільки трафіку споживають різні програми.

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

Colasoft Capsa Free


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

Інші функції включають аналіз безпеки мережі. Наприклад, відстеження DoS/DDoS-атак, активності черв'яків і виявлення ARP-атак. А також декодування пакетів та відображення інформації, статистичні дані про кожен хост у мережі, контроль обміну пакетами та реконструкція потоку. Capsa Free підтримує всі 32-бітові та 64-бітові версії Windows XP.

Мінімальні системні вимоги для встановлення: 2 Гб оперативної пам'ятіта процесор 2,8 ГГц. У вас також має бути з'єднання з інтернет через Ethernet ( сумісної з NDIS 3 або вище), Fast Ethernetабо Gigabit із драйвером зі змішаним режимом. Він дозволяє пасивно фіксувати всі пакети, що передаються Ethernet-кабелем .

Angry IP Scanner


Це аналізатор трафіку Windows з відкритим вихідним кодом, швидкий та простий у застосуванні. Він не потребує встановлення і може бути використаний на Linux, Windows та Mac OSX. Даний інструмент працює через просте пінгування кожної IP-адреси і може визначати MAC-адреси, сканувати порти, надавати NetBIOS-інформацію, визначати авторизованого користувачав системах Windows, виявляти веб-сервери та багато іншого. Його можливості розширюються за допомогою Java-плагінів. Дані сканування можуть бути збережені у файлах форматів CSV, TXT, XML.

ManageEngine NetFlow Analyzer Professional


Повнофункціональна версія програмного забезпечення NetFlow від ManageEngines. Це потужне програмне забезпеченняз повним набором функцій для аналізу та збору даних: моніторинг пропускної спроможностіканалу в режимі реального часу та оповіщення про досягнення порогових значень, що дає змогу оперативно адмініструвати процеси. Крім цього передбачено виведення зведених даних щодо використання ресурсів, моніторинг додатків та протоколів та багато іншого.

Безкоштовна версіяаналізатора трафіку Linux дозволяє необмежено використовувати продукт протягом 30 днів, після чого можна проводити моніторинг лише двох інтерфейсів. Системні вимогидля NetFlow Analyzer ManageEngine залежить від швидкості потоку. Рекомендовані вимоги для мінімальної швидкості потоку від 0 до 3000 потоків за секунду: двоядерний процесор 2,4 ГГц, 2 Гб оперативної пам'яті та 250 Гб вільного просторуна жорсткому диску. У міру збільшення швидкості потоку, який слід відстежувати, вимоги також зростають.

The Dude


Ця програма являє собою популярний мережевий моніторрозроблений MikroTik . Він автоматично сканує всі пристрої та відтворює картку мережі. The Dude контролює сервери, що працюють на різних пристроях, і попереджає у разі виникнення проблем. Інші функції включають автоматичне виявлення і відображення нових пристроїв, можливість створювати власні карти, доступ до інструментів для віддаленого керування пристроями та багато іншого. Він працює на Windows, Linux Wineі MacOS Darwine.

JDSU Network Analyzer Fast Ethernet


Ця програма аналізатор трафіку дозволяє швидко збирати та переглядати дані по мережі. Інструмент надає можливість переглядати зареєстрованих користувачів, визначати рівень використання пропускної спроможності мережі окремими пристроями, швидко знаходити та усувати помилки. А також захоплювати дані в режимі реального часу та аналізувати їх.

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

Plixer Scrutinizer


Цей аналізатор мережного трафіку дозволяє зібрати та всебічно проаналізувати мережевий трафік, а також швидко знайти та виправити помилки. За допомогою Scrutinizer можна відсортувати дані різними способами, у тому числі за часовими інтервалами, хостами, додатками, протоколами тощо. Безкоштовна версія дозволяє контролювати необмежену кількість інтерфейсів та зберігати дані по 24 годинах активності.

Wireshark


Wireshark – це потужний мережевий аналізаторможе працювати на Linux, Windows, MacOS X, Solaris та інших платформах. Wireshark дозволяє переглядати захоплені дані за допомогою графічного інтерфейсу, або використати утиліти TTY-mode TShark . Його функції включають в себе збір та аналіз трафіку VoIP, відображення в режимі реального часу даних Ethernet, IEEE 802.11, Bluetooth, USB, Frame Relay, виведення даних у XML, PostScript, CSV, підтримку дешифрування та багато іншого.

Системні вимоги: Windows XP і вище, будь-який сучасний 64/32-бітний процесор, 400 Mb оперативної пам'яті та 300 Mb вільного дискового простору. Wireshark NetFlow Analyzer - це потужний інструмент, який може спростити роботу будь-якому адміністратору мережі.

Paessler PRTG


Цей аналізатор трафіку надає користувачам безліч корисних функцій: підтримка моніторингу LAN , WAN , VPN , додатків, віртуального сервера, QoS та середовища. Також підтримується моніторинг кількох сайтів. PRTG використовує SNMP, WMI, NetFlow, SFlow, JFlow та аналіз пакетів, а також моніторинг часу безперебійної роботи/простою та підтримку IPv6.

Безкоштовна версія дозволяє використовувати необмежену кількість датчиків протягом 30 днів, після чого можна безкоштовно використовувати тільки до 100 штук.

nProbe


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

nProbe підтримує IPv4 і IPv6, Cisco NetFlow v9 / IPFIX, NetFlow-Lite, містить функції аналізу VoIP трафіку, вибірки потоків і пакетів, генерації логів, MySQL/Oracle та DNS-активності, а також багато іншого. Додаток є безкоштовним, якщо ви аналізатор трафіку завантажуєте та компілюєте на Linux або Windows. Виконуваний файлУстановки обмежує обсяг захоплення до 2000 пакетів. nProbe є повністю безкоштовним для освітніх установ, а також некомерційних та наукових організацій. Цей інструмент працюватиме на 64-бітних версіях операційних. систем Linuxта Windows.

  • Простота налаштування!
  • Графіка витрат у реальному часі.
  • Контролює всі пристрої з одного ПК.
  • Оповіщення при перевищенні ліміту.
  • Підтримка WMI, SNMPv1/2c/3 та 64-бітових лічильників.
  • Визначте, хто і звідки викачує.
  • Перевірте провайдера!

"10-Страйк: Облік Трафіка" - це проста програмадля контролю витрати трафіку на комп'ютери, комутатори, сервери в мережіна підприємстві і навіть вдома (3 сенсори можна моніторити безкоштовно у пробної версіїнавіть після закінчення 30-денного пробного періоду). Здійснюйте моніторинг обсягів вхідного та вихідногоспоживаного трафіку на комп'ютерах усієї вашої локальної мережі, в т.ч. при виході до Інтернету.

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

За допомогою нашої програми обліку ви можете виявити несумлінних користувачів, які витрачають багато Інтернет-трафікуу вашій організації. Порушення трудової дисципліни працівниками призводить до зниження продуктивність праці. Найпростіший аналіз споживання трафіку комп'ютерами співробітників дозволить виявити найактивніших користувачів мережі. При використанні WMI-сенсорів на комп'ютери мережі навіть нічого не потрібно встановлювати, потрібен лише пароль адміністратора.

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

Ви можете спостерігати графіки швидкості вхідного та вихідного трафікукомп'ютерів та мережевих пристроїв на екрані в режимі реального часу. Можна оперативно визначити, хто витрачає найбільше трафікута забиває канал.

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

  • видача повідомлення на екран комп'ютера;
  • звуковий сигнал;
  • надсилання e-mail повідомлень;
  • запис у лог-файл програми;
  • запис у Event Log системи.

Крім того, програма обліку трафіку може виконатипевні дії під час виконання умов: запустити програму, виконати VB- або JS-скрипт, перезапустити службу, перезавантажити комп'ютер тощо.

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

Нагороди

У лютому 2015 року англійська версія програми заслужила нагороду - фіналіст конкурсу "Network Computing Awards 2015" популярного великобританського журналу "Network Computing" у номінації "Продукт року для оптимізації ІТ" (IT Optimisation Product of The Year).

При покупці ліцензії ви отримаєте передплату на безкоштовні оновленняпрограми та тих. підтримку протягом одного року.

Завантажте безкоштовну 30-денну версію прямо зараз і спробуйте! Підтримуються Windows XP/2003/Vista/2008/7/8.1/2012/10/2016.

Програм для обліку трафіку в локальній мережі досить багато: як платних, так і безкоштовних, які сильно відрізняються за функціоналом. Одна з найпопулярніших Open Sourceпрограм – SAMS. Вона працює на платформі Linuxразом із Squid.

SAMS вимагає наявності PHP5, будемо використовувати Ubuntu Server 14.04. Нам знадобляться пакети Squid, Apache2, PHP5 із модулями.

Врахування трафіку інтернету в локальній мережі linux

Спробуймо розібратися, як це працює.

Squid роздає інтернет, приймаючи запити на порту 3128. При цьому пише детальний лог access.log. Все керування здійснюється через файл squid.conf. Squid має широкими можливостямиз управління доступом до Інтернету: розмежування доступу за адресами, контроль смуги пропускання для конкретних адрес, груп адрес та мереж.

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

Встановлення SAMS

Встановлюємо пакети.

apt-get install apache2 php5 php5-mysql mysql-server php5-gd squid3

Завантажуємо та встановлюємо SAMS

wget https://github.com/inhab-magnus/sams2-deb/archive/master.zip

unzip master.zip

cd sams2-deb-master/

dpkg -i sams2_2.0.0-1.1_amd64.deb

Встановлюємо web-інтерфейс

dpkg -i apache2/sams2-web_2.0.0-1.1_all.deb

У файл /etc/sams2.conf вносимо зміни.

DB_PASSWORD=/Пароль до MySql/

Запускаємо SAMS

service sams2 start

Налаштування Squid

Вносимо зміни до файлу /etc/squid3/squid.conf

http_port 192.168.0.110:3128
cache_dir ufs /var/spool/squid3 2048 16 256

Включаємо логування та ротацію логів із зберіганням у 31 день.

access_log daemon:/var/log/squid3/access.log squid

logfile_rotate 31

Зупиняємо Squid, створюємо кеш.

service squid3 stop

service squid3 start

Для чистоти експерименту налаштовуємо один із браузерів на роботу з проксі 192.168.0.110 через порт 3128. Спробувавши підключитися, отримуємо відмову у з'єднанні – у Squid не налаштовані права на доступ до проксі.

Початкове налаштування SAMS

В іншому браузері відкриваємо адресу (192.168.0.110 – адресу сервера).

http://192.168.0.110/sams2

Він нам скаже, що не може підключитися до бази даних і запропонує установку.

Вказуємо сервер бази даних (127.0.0.1), логін та пароль від MySql.

Початкове налаштування системи обліку трафіку виконано. Залишається лише налаштування програми.

Моніторинг трафіку у локальній мережі

Логін у систему під адміністратором (admin/qwerty).

Варто одразу сказати про авторизацію користувачів.

У гілці Squid відкриваємо проксі-сервер та натискаємо внизу кнопку «Налаштування проксі-сервера».

Найголовніше тут – вказати в адресах папок та файлів, де це необхідно, свою IP-адресу, інакше проксі-сервер не запуститься.

Суть усіх змін у налаштуваннях SAMS полягає в тому, що вони записуються в squid.conf. У фоні працює sams2deamon, який відстежує зміни в налаштуваннях, що вимагають внесення до конфігураційного файлу (там же можна задати інтервал відстеження).

Заповнюємо поле «Користувач» та «IP-адресу». Як ім'я користувача візьмемо той самий IP (IP комп'ютера, не сервера!). У поле "Дозволений трафік" вносимо "0", тобто без обмежень. Усі інші поля опускаємо.

Буде додано новий acl для цієї IP-адреси та дозвіл для роботи через Squid. Якщо конфіг не було змінено автоматично, переходимо у гілку проксі та натискаємо кнопку «Переконфігурувати Squid». Зміни в конфіг буде внесено вручну.

Пробуємо відкрити будь-яку URL у браузері. Перевіряємо access.log і бачимо запити, що обробляються проксі. Для перевірки роботи SAMS відкриємо сторінку "Користувачі", внизу натисніть кнопку "Перерахувати трафік користувачів".

Користуючись кнопками внизу управління статистикою, можна отримати детальну інформаціюза статистикою відвідування користувачем сторінок.

У цій статті будуть розглянуті програмні рішення, які допоможуть контролювати ваш трафік. Завдяки їм ви зможете побачити зведення споживання інтернет-з'єднання. окремим процесомта обмежити його пріоритет. Необов'язково переглядати записані звітності на ПК, в ОС якого встановлено спеціальне програмне забезпечення – це можна зробити віддалено. Не проблемою буде дізнатися вартість спожитих ресурсів та багато чого іншого.

ПЗ від компанії SoftPerfect Research, що дозволяє вести контроль споживаного трафіку. Програма надає додаткові налаштування, які дають можливість побачити інформацію про спожиті мегабайти за конкретний день або тиждень, піковий та непіковий годинник. Надано можливість побачити показники вхідної та вихідної швидкості, отриманих та відправлених даних.

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

DU Meter

Додаток для відстеження споживання ресурсів з всесвітньої павутини. У робочій області ви побачите як вхідний, так і вихідний сигнал. Підключивши обліковий записсервісу dumeter.net, яку пропонує розробник, ви зможете збирати статистику щодо використання потоку інформації з інтернету з усіх ПК. Гнучкі налаштування допоможуть вам відфільтрувати потік та надсилати звіти на свою електронну пошту.

Параметри дозволяють вказати обмеження при використанні з'єднання зі світовим павутинням. Крім того, можна вказати вартість пакета послуг, який надає ваш провайдер. Існує керівництво користувача, в якому ви знайдете інструкції по роботі з наявним функціоналом програми.

Network Traffic Monitor

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

TrafficMonitor

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

У складених звітах буде перелік дій, пов'язаних із підключенням. Графік виводиться в окремому вікні, а шкала відображається в реальному часі, його ви побачите поверх усіх програм, у яких працюєте. Рішення є безкоштовним та має російськомовний інтерфейс.

NetLimiter

Програма має сучасний дизайнта потужний функціонал. Особливість її в тому, що вона надає звіти, в яких є зведення про споживання трафіку кожним процесом, що працює на ПК. Статистика відмінно відсортована за різними періодами, а тому знайти потрібний час буде дуже просто.

Якщо NetLimiter встановлено на іншому комп'ютері, ви можете підключитися до нього та контролювати його брандмауер та інші функції. Для автоматизації процесів усередині додатка застосовуються правила, що складаються самим користувачем. У планувальнику можна створювати свої ліміти під час користування послугами провайдера, а також блокувати доступ до глобальної та локальної мережі.

DUTraffic

Особливості цього програмного забезпечення в тому, що воно відображає розширену статистику. Є інформація про з'єднання, з якого користувач входив глобальний простір, сесії та їх тривалість, а також тривалість використання та багато іншого. Усі звітності супроводжуються інформацією як діаграми, що підсвічує тривалість споживання трафіку за часом. У параметрах ви можете налаштувати практично будь-який елемент оформлення.

Графік, який виводиться у конкретної галузіоновлюється у посекундному режимі. На жаль, утиліта не підтримується розробником, але має російську мову інтерфейсу та поширюється безкоштовно.

BWMeter

Програма здійснює моніторинг завантаження/віддачі та швидкості наявного з'єднання. Використання фільтрів виводить оповіщення у разі, якщо процеси в ОС споживають мережеві ресурси. Різні фільтри застосовуються на вирішення безлічі різноманітних завдань. Користувач зможе повністю налаштувати відображені графіки на свій розсуд.

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

BitMeter II

Рішення надати інформацію про використання послуг провайдера. Існують дані як у табличному уявленні, так і в графічному. У параметрах налаштовуються оповіщення при подіях, пов'язаних зі швидкістю з'єднання та спожитим потоком. Для зручності роботи BitMeter II дозволяє розрахувати, скільки часу завантажиться введений їм обсяг даних у мегабайтах.

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

Представлені програмні продуктибудуть незамінними під час контролю споживання інтернет-ресурсів. Функціонал додатків допоможе скласти докладні звіти, а надіслані на e-mail звіти доступні для перегляду в будь-який зручний час.

Будь-який адміністратор рано чи пізно отримує інструкцію від керівництва: «Порахувати, хто ходить у мережу, і скільки качає». Для провайдерів вона доповнюється завданнями "пустити кого треба, взяти оплату, обмежити доступ". Що рахувати? Як? Де? Уривкових відомостей багато, вони не структуровані. Позбавимо початківця адміна від стомлюючих пошуків, забезпечивши його загальними знаннями, і корисними посиланнямина матч.
У цій статті я намагатимуся описати принципи організації збору, обліку та контролю трафіку в мережі. Ми розглянемо проблематику питання, та перерахуємо можливі способи знімання інформації з мережевих пристроїв.

Це перша теоретична стаття з циклу статей, присвяченого збору, обліку, управлінню та білінгу трафіку та IT-ресурсів.

Структура доступу до мережі Інтернет

Загалом, структура доступу до мережі виглядає так:
  • Зовнішні ресурси – мережа Інтернет з усіма сайтами, серверами, адресами та іншим, що не належить мережі, яку ви контролюєте.
  • Пристрій доступу – маршрутизатор (апаратний або на базі PC), комутатор, VPN-сервер або концентратор.
  • Внутрішні ресурси – набір комп'ютерів, підмереж, абонентів, роботу яких у мережі необхідно враховувати чи контролювати.
  • Сервер керування або обліку – пристрій, на якому працює спеціалізоване програмне забезпечення. Може бути функціонально поєднаний із програмним маршрутизатором.
У цій структурі, мережевий трафік проходить від зовнішніх ресурсівдо внутрішніх, і назад, через пристрій доступу. Воно передає на сервер управління інформацію про трафік. Сервер управління обробляє цю інформацію, зберігає у базі, відображає, видає команди блокування. Однак, не всі комбінації пристроїв (методів) доступу та методів збору та управління сумісні. Про різних варіантахі піде мова нижче.

Мережевий трафік

Для початку необхідно визначити, а що ж мається на увазі під "мережевим трафіком", і яку корисну статистичну інформаціюможна витягти з потоку даних користувача.
Домінуючим протоколом міжмережевої взаємодіїпоки залишається IP версії 4 . Протокол IP відповідає 3му рівню моделі OSI (L3). Інформація (дані) між відправником та одержувачем упаковується в пакети – що мають заголовок, та «корисне навантаження». Заголовок визначає, звідки і куди йдепакет (IP-адреси відправника та одержувача), розмір пакету, тип корисного навантаження. Основну частину мережного трафіку складають пакети з корисним навантаженням UDP та TCP – це протоколи 4-го рівня (L4). Крім адрес, заголовок цих двох протоколів містить номери портів, які визначають тип служби (додатки), що передає дані.

Для передачі IP-пакета по проводах (або радіо) мережеві пристрої змушені «обертати» (інкапсулювати) їх у пакет протоколу 2го рівня (L2). Найпоширенішим протоколом такого типу є Ethernet. Фактична передача"У провід" йде на 1м рівні. Зазвичай, пристрій доступу (маршрутизатор) займається аналізом заголовків пакетів лише на рівні, вище 4го (виняток – інтелектуальні міжмережні екрани).
Інформація з полів адрес, портів, протоколів та лічильники довжин з L3 та L4 заголовків пакетів даних і становить той «вихідний матеріал», який використовується при обліку та керуванні трафіком. Власне обсяг переданої інформаціїзнаходиться в полі Length («Довжина пакета») заголовка IP (включаючи довжину самого заголовка). До речі, через фрагментацію пакетів внаслідок механізму MTU загальний обсяг переданих даних завжди більше розмірукорисного навантаження.

Сумарна довжина цікавих нам у даному контексті IP- та TCP/UDP-полів пакету становить 2...10% загальної довжини пакета. Якщо обробляти та зберігати всю цю інформацію попакетно, не вистачить жодних ресурсів. На щастя, переважний обсяг трафіку структурований так, що складається з набору діалогів між зовнішніми і внутрішніми мережевими пристроями, так званих потоків. Наприклад, у рамках однієї операції пересилання електронного листа(протокол SMTP) відкривається TCP-сесія між клієнтом та сервером. Вона характеризується постійним набором параметрів (IP-адреса джерела, TCP-порт джерела, IP-адреса одержувача TCP-порт одержувача). Замість того, щоб обробляти та зберігати інформацію попакетно, набагато зручніше зберігати параметри потоку (адреси та порти), а також додаткову інформацію – число та суму довжин переданих пакетів у кожний бік, опціонально тривалість сесії, індекси інтерфейсів маршрутизатора, значення поля ToS та інше. Такий підхід є вигідним для орієнтованих на з'єднання протоколів (TCP), де можна явно перехопити момент завершення сесії. Однак і для не орієнтованих на сесії протоколів можна проводити агрегацію та логічне завершення запису про потік, наприклад, таймууту. Нижче наведено витримку з SQL-бази власної системи білінгу, що здійснює протоколювання інформації про потоки трафіку:

Необхідно відзначити випадок, коли пристрій доступу здійснює трансляцію адрес (NAT, маскарадинг) для організації доступу в Інтернет комп'ютерів локальної мережі, використовуючи одну, зовнішню, публічну IP-адресу. У цьому випадку спеціальний механізм здійснює заміну IP-адрес та TCP/UDP портів пакетів трафіку, замінюючи внутрішні (не маршрутизовані в Інтернеті) адреси відповідно до своєї динамічної таблицітрансляції. У такій конфігурації необхідно пам'ятати, що для коректного обліку даних по внутрішнім хостам мережі знімання статистики має проводитися способом і в тому місці, де результат трансляції ще не знеособлює внутрішні адреси.

Методи збору інформації про трафік/статистику

Знімати і обробляти інформацію про трафік можна безпосередньо на самому пристрої доступу (ПК-маршрутизатор, VPN-сервер), з цього пристрою передаючи її на окремий сервер(NetFlow, SNMP), або "з проводу" (tap, SPAN). Розберемо усі варіанти по-порядку.
ПК-маршрутизатор
Розглянемо найпростіший випадок – пристрій доступу (маршрутизатор) з урахуванням ПК з ОС Linux.

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

  • перехоплення (копіювання) пакетів, які проходять через мережну карту сервера, за допомогою бібліотеки libpcap
  • перехоплення пакетів, що проходять через вбудований міжмережевий екран
  • використання сторонніх коштівперетворення папакетної статистики (отриманої одним із двох попередніх методів) на потік агрегованої інформації netflow
Libpcap


У першому випадку копія пакета, що проходить через інтерфейс, після проходження фільтра (man pcap-filter) може бути запитана програмою клієнта на сервері, написаної з використанням даної бібліотеки. Пакет надходить разом із заголовком 2-го рівня (Ethernet). Можна обмежити довжину інформації, що захоплюється (якщо нас цікавить тільки інформація з його заголовка). Прикладами таких програм можуть бути tcpdump та Wireshark. Існує реалізація libpcap під Windows. У разі застосування трансляції адрес на ПК-маршрутизаторі такий перехоплення можна здійснювати тільки на його внутрішньому інтерфейсі, підключеному до локальним користувачам. на зовнішньому інтерфейсі, після трансляції, IP-пакети не містять інформації про внутрішні хости мережі. Однак за такого способу неможливо врахувати трафік, що створюється самим сервером в мережі Інтернет (що важливо, якщо на ньому працюють веб- або поштовий сервіс).

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

  • відкрити необхідний інтерфейс
  • вказати фільтр, через який пропускати прийняті пакети, розмір захоплюваної частини (snaplen), розмір буфера,
  • задати параметр promisc, який переводить мережевий інтерфейс в режим захоплення взагалі всіх пакетів, що проходять повз, а не тільки адресованих MAC-адресі цього інтерфейсу
  • встановити функцію (callback), що викликається кожен прийнятий пакет.

При передачі пакета через вибраний інтерфейс, після проходження фільтра ця функція отримує буфер, що містить Ethernet (VLAN), IP і т.д. заголовки, загальним розміромдо snaplen. Оскільки бібліотека libcap копіює пакети, заблокувати їх проходження за її допомогою неможливо. У такому разі програмі збору та обробки трафіку доведеться використовувати альтернативні методи, наприклад, виклик скрипта для розміщення заданої IP-адреси в правило блокування трафіку.

Міжмережевий екран


Захоплення даних, що проходять через міжмережевий екран, дозволяє врахувати і трафік сервера, і трафік користувачів мережі, навіть під час трансляції адрес. Головне в цьому випадку - правильно сформулювати правило захоплення і поставити його в потрібне місце. Даним правилом активується передача пакета убік системної бібліотеки, звідки додаток обліку та управління трафіком може його отримати. Для ОС Лінукс як міжмережевий екран застосовують iptables, а засоби перехоплення - ipq, netfliter_queue або ulog. Для OC FreeBSD – ipfw з правилами типу tee чи divert. У будь-якому випадку механізм міжмережевого екрану доповнюється можливістю роботи з програмою користувача наступним способом:
  • Програма користувача - обробник трафіку реєструє себе в системі, використовуючи системний виклик, або бібліотеку.
  • Користувальницька програма або зовнішній скриптвстановлює правило в міжмережевий екран, "завертає" обраний трафік (згідно з правилом) всередину оброблювача.
  • На кожен пакет, що проходить, обробник отримує його вміст у вигляді буфера пам'яті (із заголовками IP і т. д. Після обробки (обліку) програмі необхідно також повідомити ядру операційної системи, що робити далі з таким пакетом - відкинути або передати далі. Як варіант, можливо передати ядру видозмінений пакет.

Оскільки IP-пакет не копіюється, а пересилається в програмне забезпечення для аналізу, стає можливим його «викид», а отже, повне чи часткове обмеження трафіку певного типу (наприклад, до обраного абонента локальної мережі). Однак якщо прикладна програма перестала відповідати ядру про своє рішення (зависла, наприклад), трафік через сервер просто блокується.
Необхідно відзначити, що описані механізми при істотних обсягах трафіку, що передається, створюють надлишкове навантаження на сервер, що пов'язано з постійним копіюванням даних з ядра в користувальницьку програму. Цього недоліку позбавлений метод збору статистики лише на рівні ядра ОС, з видачею у прикладну програму агрегованої статистики за протоколом NetFlow .

Netflow
Цей протокол був розроблений фірмою Cisco Systems для експорту інформації про трафік з маршрутизаторів для обліку та аналізу трафіку. Найбільш популярна зараз версія 5 надає одержувачу потік структурованих даних у вигляді UDP-пакетів, що містять інформацію про трафік у вигляді так званих flow records:

Обсяг інформації про трафік менше самого трафіку на кілька порядків, що особливо актуально у великих та розподілених мережах. Звичайно, блокувати передачу інформації при зборі статистики по netflow неможливо (якщо не використовувати додаткові механізми).
В даний час стає популярним подальший розвиток цього протоколу - версія 9, заснована на шаблонної структури flow record, реалізації для пристроїв інших виробників (sFlow). Нещодавно було прийнято стандарт IPFIX, який дозволяє передавати статистику і за протоколами глибших рівнів (наприклад, за типом програми).
Реалізація netflow-джерел (агентів, probe) доступна для ПК-маршрутизаторів, як у вигляді працюючих за описаними вище механізмами утиліт (flowprobe, softflowd), так і безпосередньо вбудованих в ядро ​​ОС (FreeBSD: ng_netgraph, Linux:). Для програмних маршрутизаторів потік статистики netflow можна приймати і обробляти локально на самому маршрутизаторі, або відправляти по мережі (протокол передачі поверх UDP) на пристрій (колектор).


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

Функції експорту netflow підтримують маршрутизатори Cisco Systems, Mikrotik та деякі інші. Аналогічний функціонал (з іншими протоколами експорту) підтримується всіма великими виробникамимережевого обладнання.

Libpcap "зовні"
Трохи ускладнимо завдання. Що, якщо пристрій доступу – апаратний маршрутизатор іншого виробника? Наприклад, D-Link, ASUS, Trendnet тощо. На ньому, швидше за все, неможливо поставити додаткове програмний засібзнімання даних. Як варіант – інтелектуальний пристрій доступу у вас є, але налаштувати його не є можливим (немає правий, або він керується вашим провайдером). У такому випадку можна збирати інформацію про трафік безпосередньо у точці стику пристрою доступу з внутрішньою мережею, користуючись «апаратними» засобами копіювання пакетів У такому випадку обов'язково буде потрібно окремо сервер з виділеною мережевою картою для прийому копій Ethernet-пакетів.
Сервер повинен використовувати механізм збору пакетів за методом libpcap, описаним вище, і наше завдання - на вхід виділеної для цього мережевої карти подати потік даних, ідентичний вихід сервера доступу. Для цього можна використати:
  • Ethernet – хаб (hub): пристрій, який просто пересилає пакети між усіма своїми портами без розбору. У сучасних реаліях його можна знайти десь на курному складі, і застосовувати такий метод не рекомендується: ненадійно, низька швидкість(Хабів на швидкості 1 Гбіт/с не буває)
  • Ethernet - комутатор з можливістю дзеркалювання (мироринга, SPAN портів. Сучасні інтелектуальні (і дорогі) комутатори дозволяють копіювати на вказаний порт весь трафік (вхідний, що виходить, обидва) іншого фізичного інтерфейсу, VLAN, у тому числі віддаленого (RSPAN)
  • Апаратний роздвоювач, який може вимагати установки для збору двох мережевих картзамість однієї – і це, крім основної, системної.


Природно, ви можете налаштувати SPAN-порт і на пристрої доступу (маршрутизаторі), якщо воно це дозволяє - Cisco Catalyst 6500, Cisco ASA. Ось приклад такої конфігурації для комутатора Cisco:
monitor session 1 source vlan 100! звідки беремо пакети
monitor session 1 destination interface Gi6/3! куди видаємо пакети

SNMP
Що, якщо маршрутизатора під нашим контролем немає, з netflow зв'язуватись немає бажання, нас не цікавлять деталі трафіку наших користувачів. Вони просто підключені до мережі через керований комутатор, і нам треба просто грубо оцінити обсяг трафіку, що припадає на кожен із його портів. Як ви знаєте, мережні пристрої з можливістю віддаленого керування підтримують і можуть відобразити лічильники пакетів (байт), що проходять через мережеві інтерфейси. Для їхнього опитування правильно буде використовувати стандартизований протокол віддаленого керування SNMP. За допомогою його можна досить просто отримати не лише значення вказаних лічильників, але також інші параметри, такі як ім'я та опис інтерфейсу, видимі через нього MAC-адреси, та іншу корисну інформацію. Це робиться як утилітами командного рядка (snmpwalk), графічними SNMP-браузерами, так і більше складними програмамимоніторингу мережі (rrdtools, cacti, zabbix, whats up gold і т.д.). Проте, даний методмає дві істотні недоліки:
  • блокування трафіку може здійснюватися лише шляхом повного відключенняінтерфейсу, за допомогою того ж SNMP
  • лічильники трафіку, що знімаються по SNMP, відносяться до суми довжин Ethernet-пакетів (причому unicast, broadcast і multicast окремо), у той час як інші описані раніше кошти дають величини щодо IP-пакетів. Це створює помітне розбіжність (особливо на коротких пакетах) через оверхеда, викликаного довжиною Ethernet-заголовка (втім, з цим можна боротися наближено: L3_байт = L2_байт - L2_пакетів*38).
VPN
Окремо варто розглянути випадок доступу користувачів до мережі за допомогою явного встановлення з'єднання до сервера доступу. Класичним прикладом може бути старий добрий dial-up, аналогом якого в сучасному світіє VPN-служби віддаленого доступу(PPTP, PPPoE, L2TP, OpenVPN, IPSEC)


Пристрій доступу не тільки маршрутизує IP-трафік користувачів, але також являє собою спеціалізований VPN-сервер, і термінує логічні тунелі (часто зашифровані), всередині яких передається трафік користувача.
Для обліку такого трафіку можна користуватися як усіма засобами, описаними вище (і для глибокого аналізу портами/протоколами вони добре підходять), так і додатковими механізмами, які надають засоби управління VPN-доступом. У першу чергу мова йтиме про протокол RADIUS. Його робота – досить складна тема. Ми ж коротко згадаємо, що контролем (авторизацією) доступу до VPN-сервера (RADIUS-клієнту) керує спеціальний додаток(RADIUS-сервер), що має за собою базу (текстовий файл, SQL, Active Directory) допустимих користувачів з їх атрибутами (обмеження за швидкістю підключення, призначені IP-адреси). Крім процесу авторизації, клієнт періодично передає серверу повідомлення облікового запису, інформацію про стан кожної поточної працюючої VPN-сесії, у тому числі лічильники переданих байт та пакетів.

Висновок

Зведемо всі описані вище методи збору інформації про трафік воєдино:

Підіб'ємо невеликий підсумок. На практиці існує велика кількістьметодів приєднання керованої вами мережі (з клієнтами чи офісними абонентами) до зовнішньої мережевої інфраструктури, з використанням низки засобів доступу – програмних та апаратних маршрутизаторів, комутаторів, VPN-серверів. Однак практично в будь-якому випадку можна придумати схему, коли інформація про переданий по мережі трафік може бути спрямована на програмне або апаратний засібйого аналізу та управління. Можливо також, що цей засіб дозволить здійснювати зворотний зв'язок із пристроєм доступу, застосовуючи інтелектуальні алгоритми обмеження доступу окремих клієнтів, протоколів тощо.
На цьому закінчу розбір матчу. Із нерозібраних тем залишилися:

  • як і куди потрапляють зібрані дані про трафік
  • програмне забезпечення для обліку трафіку
  • чим відрізняється білінг від простої "рахунки"
  • як можна накладати обмеження на трафік
  • облік та обмеження відвіданих веб-сайтів

Теги: Додати теги