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

Чи можливо засобами інтернет-центру виконати захоплення мережевих пакетів (по аналогії з утилітою Wireshark) для діагностики підключень?


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

Для роботи функції захоплення пакетів в інтернет-центрі необхідно встановити компонент прошивки Модуль захоплення мережевих пакетів. Додаткову інформацію Ви можете знайти в статті: «Встановлення компонентів та оновлення операційної системи інтернет-центру через веб-інтерфейс»

 
 Для коректної діагностики необхідно збирати дамп пакетів за наступною інструкцією:
 
  • Налаштувати правила захоплення пакетів;
  • Запустити збір пакетів по налаштованим правилами;
  • Відтворити проблему;
  • Зупинити збір пакетів і зберегти отриманий файл (и).
    Важливо! Якщо Ви плануєте звернутися в нашу
    службу технічної підтримки з описом проблеми, яка спостерігається, то крім отриманого файлу з дампом мережевих пакетів (* .pcapng), обов'язково прикладіть і файл діагностики self-test.txt, що допоможе нашим інженерам швидше вирішити ваше питання.
 
Отже, для виконання захоплення мережевих пакетів перейдіть в веб-конфігураторі в меню Система> Захоплення пакетів і натисніть Додати налаштування.
 
 
Відкриється вікно, де обов'язково потрібно вказати Інтерфейс, на якому потрібно виконувати захоплення пакетів. У більшості випадків, це активний інтерфейс для підключення до Інтернету - Broadband connection ISP. Якщо ж при підключенні до Інтернету Ви використовуєте протокол PPTP, L2TP, PPPoE або 3G / 4G-модем, в цих випадках вказуйте потрібний інтерфейс.
Якщо ваш інтернет-центр має порт USB для роботи з зовнішніми накопичувачами, рекомендуємо використовувати його для збереження файлу з дампом пакетів. Якщо інтернет-центр не має порту USB, файл дампа пакетів буде зберігатися у внутрішню пам'ять пристрою.
У полі Розмір буфера слід встановити максимально можливе значення (в кілобайтах) для конкретної моделі.
В інших полях залиште значення, які встановлені за замовчуванням.
 
 

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

Тепер можна перейти до процедури захоплення пакетів. Будь ласка, робіть захоплення пакетів таким чином, щоб можна було побачити інформацію про трафік при виникненні проблеми. Рекомендується почати знімати дамп (захоплення пакетів) до виникнення проблеми.
Увага! При налагодженні проблем з мультикаст (IPTV / VoIP) рекомендується відключити в інтернет-центрі компонент операційної системи Мережевий прискорювач.


Щоб запустити створене правило натисніть кнопку Старт (див. Малюнок нижче).
 
 
Після запуску роутер почне збирати мережеві пакети.
Після того як проблема була відтворена, потрібно зупинити захоплення пакетів, натиснувши кнопку Стоп.
 
 
Щоб подивитися збережені файли, потрібно натиснути на кнопку Завантажити.
 
 
Буде запропоновано зберегти файл у форматі * .pcapng, який містить захоплені мережеві пакети.
 
 
 
Для перегляду цього файлу на комп'ютері потрібно використовувати програму аналізатор мережевого трафіку Wireshark.
 

Примітка

Додаткова інформація для досвідчених користувачів!

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

Далі більш детально розглянемо параметри налаштування захоплення пакетів.

Інтерфейс - інтерфейс, для якого здійснюється захоплення пакетів. Як правило, при наявності проблем в роботі інтернет-центру є необхідність збирати трафік з інтерфейсу, що встановлює з'єднання з Інтернетом (це може бути інтерфейс Broadband connection ISP або підключення через USB-модем). У разі, якщо для підключення до провайдера використовується тунельний підключення (PPTP, L2TPPPPoE), треба збирати трафік саме з цього інтерфейсу.

У разі проблем з проходженням трафіку або перекиданням портів необхідно паралельно збирати трафік з зовнішнього інтерфейсу (наприклад, ISP) та інтерфейсу домашньої мережі Home.
 
Використовувати для зберігання файлу - задає місце для збереження файлу в форматі Wireshark (файл з розширенням * .pcapng), що містить захоплені пакети. В разі обрання опції Зовнішній USB-накопичувач, з'являється додаткове поле Каталог для зберігання файлів, де необхідно вказати шлях до теки на зовнішньому USB-носії. В разі обрання опції Внутрішня пам'ять, файл буде зберігатися у внутрішній пам'яті роутера.
Важливо! Якщо до інтернет-центру підключений зовнішній USB-накопичувач з достатнім запасом вільної пам'яті (як найменш більше внутрішньої), рекомендується використовувати його, щоб гарантовано помістилося більше корисної інформації.
 
Размір буфера — задає размір буфера для тимчасового зберігання пакетів у бібліотеці захвату (або ядрі, в залежності від платформи). За замовчуванням не має ніяких налаштувань та для ядра Linux становить 2 Мб, задається в кілобайтах. Мінімальне значення - 64Кб, максимальне - <размір оперативної пам'яті в Кб>/16. Наприклад, для пристрою Keenetic Giga II максимальний размір буферу може становити 256*1024/16 = 16384 Кб.
Чинне налаштування доступне через інтерфейс командного рядка (CLI) за допомогою команди:
monitor capture interface {name} buffer-size {size-kb}
Важливо! Рекомендується встановлюват максимально можливе значення для конкретної моделі, щоб зібрати максимально повний дамп пакетів.
 

Максимальний розмір файлу - максимальний розмір вихідного файлу з захопленими пакетами. Розмір задається в кілобайтах. Якщо заданий цей параметр, захоплення здійснюється в кільцевий буфер, а після закінчення сеансу захоплення зберігається у вихідний файл. Цей параметр необхідний для пристроїв без USB-накопичувача. Мінімальне значення - 64 Кб, максимальне - <розмір оперативної пам'яті в КБ> / 16.
Це налаштування доступне через CLI за допомогою команди:
[No] monitor capture interface {name} capture-size {size-kb}

Максимальний розмір фрейма - задає максимальний розмір даних, який буде збережений з кадру. Параметр завжди повертає налаштоване значення. Значення за замовчуванням - 1518, припустимий діапазон - [1, 16380].
Це налаштування доступне через CLI за допомогою команди:
[No] monitor capture interface {name} max-frame-size {size}

Тип захоплюваного трафіку - визначає, який тип трафіку буде захоплений (вхідний / вихідний / обидва). Налаштування завжди зберігається в конфігурацію.
Це налаштування доступне через CLI за допомогою команди:
[No] monitor capture interface {name} direction {direction}
Припустимі значення direction - "in", "out", "in-out". Параметр "no" скидає direction в значення за замовчуванням ( "in-out").

Використовувати фільтр - задає рядок з описом фільтру пакетів в форматі Berkeley packet filter. Більш детальна інформація доступна за посиланням: http://biot.com/capstats/bpf.html

Чинне налаштування доступне через CLI за допомогою команди:
[no] monitor capture interface {name} filter {bpf-program}
 

Приклади використання фільтрів:
ip host x.x.x.x - фільтр, захоплюючий пакети тільки з адресою x.x.x.x
tcp dst port 80 - фільтр, захоплюючий тільки HTTP-пакети (порт призначення tcp 80)
ip proto \ icmp - фільтр, захоплюючий тільки icmp-запити (ping)
udp port 53 - фільтр, захоплюючий обмін запитами і відповідями з DNS-сервером

Тайм-аут - задає значення тайм-ауту при читанні пакету з інтерфейсу в мілісекундах. Завжди повертає налаштоване значення. Значення за замовчуванням - 1000. Припустимий діапазон - [10, 10000].
Це налаштування доступне через CLI за допомогою команди:
[No] monitor capture interface {name} timeout {timeout-ms}

Захоплення без розбору адресата - вмикає режим "без розбору адресата", в якому записуються всі пакети, включно з тими, що не призначені заданому інтерфейсу. У звичайному режимі такі пакети відкидаються.
Це налаштування доступне через CLI за допомогою команди:
[No] monitor capture interface {name} promisc-mode

Подивитися стан захоплення пакетів можна через CLI командою:
show monitor capture interface [name] status

Розглянемо приклад захоплення мережевих пакетів з певного ПК в домашній мережі, щоб відстежити обмін ICMP-запитами між цим ПК і якимось ресурсом в мережі Інтернет. В цьому випадку захоплення пакетів потрібно виконувати з інтерфейсу локальної мережі Home і зовнішнього (WAN) інтерфейсу роутера, який підключений до мережі Інтернет.
IP-адреса ПК в локальній мережі: 192.168.4.34
IP-адреса на WAN-інтерфейсі ISP: 46.72.188.17
Ресурс в Інтернеті, на який відправляємо пінг-запити: 8.8.8.8 (в нашому прикладі це публічний DNS-сервер компанії Google)

Необхідно створити два фільтри (для інтерфейсів Home network і Broadband connection ISP):

1. У локальній мережі потрібно відфільтрувати пакети з IP-адресою 192.168.4.34 по протоколу icmp (фільтр буде виглядати ip host 192.168.4.34 and ip proto \ icmp).

 
 
2. На WAN-інтерфейсі потрібно відфільтрувати пакети по IP-адресі 8.8.8.8 (на яку ПК локальної мережі відправляє icmp-запити) і протоколу icmp (фільтр буде виглядати ip host 8.8.8.8 and ip proto \ icmp).
 
 
В результаті будуть створені два правила, які потрібно запустити кнопкою Старт.
 
 
Після запуску роутер почне збирати пакети, що задовольняють зазначеним фільтрам. В процесі роботи модуля необхідно запустити пінг з комп'ютера локальної мережі до зазначеного інтернет-ресурсу.
 
 
Після декількох спроб пинга (вдалих чи невдалих) необхідно зупинити захоплення пакетів (це можна зробити, натиснувши кнопку Стоп). Щоб подивитися збережені файли, потрібно натиснути на кнопку Завантажити. Буде запропоновано на комп'ютер зберегти файли в форматі * .pcapng, які містять захоплені мережеві пакети.
Для перегляду файлу * .pcapng необхідно, щоб на комп'ютері була встановлена програма аналізатор мережевого трафіку Wireshark.
 
Важливо! Якщо Ви плануєте звернутися в нашу службу технічної підтримки з описом проблеми, яка спостерігається, то крім отриманого файлу з дампом мережевих пакетів (* .pcapng), обов'язково прикладіть і файл діагностики self-test.txt, що допоможе нашим інженерам швидше вирішити ваше питання.

 

KB-4068

Чи була ця стаття корисною?

15 з 16 вважають статтю корисною