NOTE: В данной статье показана настройка версий ОС NDMS 2.11 и более ранних. Настройка актуальной версии ПО представлена в статье "Захват сетевых пакетов".
Начиная с микропрограммы NDMS версии 2.04.С0 была добавлена возможность захвата сетевых пакетов с интерфейсов интернет-центра (роутера).
Дамп сетевых пакетов поможет диагностировать проблемы связанные с прохождением трафика в сети, проанализировать, что происходит с конкретными пакетами. На основании этой информации можно будет сделать вывод о корректности или некорректности работы маршрутизации, хоста или шлюза провайдера, определить причины, проблемы и варианты их устранения.
Дамп сетевых пакетов поможет диагностировать проблемы связанные с прохождением трафика в сети, проанализировать, что происходит с конкретными пакетами. На основании этой информации можно будет сделать вывод о корректности или некорректности работы маршрутизации, хоста или шлюза провайдера, определить причины, проблемы и варианты их устранения.
Для работы функции захвата пакетов в интернет-центре необходимо установить компонент микропрограммы Модуль захвата сетевых пакетов. Дополнительную информацию вы можете найти в статье: «Установка компонентов операционной системы NDMS через веб-интерфейс»
Для корректного сбора диагностики необходимо собирать дамп пакетов по следующей инструкции:
- Настроить правила захвата пакетов;
- Запустить сбор пакетов по настроенным правилам;
- Воспроизвести проблему;
- Остановить сбор пакетов и сохранить полученный файл(ы).
Важно! Если вы планируете обратиться в нашу службу технической поддержки с описанием проблемы, которая наблюдается, то помимо полученного файла с дампом сетевых пакетов (*.pcapng), обязательно приложите и файл диагностики self-test.txt, что поможет нашим инженерам быстрее решить ваш вопрос.
Итак, для выполнения захвата сетевых пакетов перейдите в веб-конфигураторе в меню Система > Захват пакетов и нажмите Добавить настройку.
Откроется окно, в котором обязательно нужно указать Интерфейс, с которого нужно выполнять захват пакетов. В большинстве случаев, это активный интерфейс для подключения в Интернет — Broadband connection ISP. Если же при подключении к Интернету вы используете протокол PPTP, L2TP, PPPoE или 3G/4G-модем, в этих случаях указывайте нужный интерфейс.
Если ваш интернет-центр имеет порт USB для работы с внешними накопителями, рекомендуем использовать его для сохранения файла с дампом пакетов. Если интернет-центр не имеет порта USB, файл дампа пакетов будет сохраняться во внутреннюю память устройства.
Если ваш интернет-центр имеет порт USB для работы с внешними накопителями, рекомендуем использовать его для сохранения файла с дампом пакетов. Если интернет-центр не имеет порта USB, файл дампа пакетов будет сохраняться во внутреннюю память устройства.
В поле Размер буфера следует установить максимально возможное значение (в килобайтах) для конкретной модели.
В остальных полях оставьте значения, которые установлены по умолчанию.
В остальных полях оставьте значения, которые установлены по умолчанию.
После настройки параметров нажмите кнопку Сохранить.
Теперь можно перейти к процедуре захвата пакетов. Пожалуйста, производите захват пакетов таким образом, чтобы можно было увидеть информацию о трафике при возникновении проблемы. Рекомендуется начать снимать дамп (захват пакетов) до возникновения проблемы.
Внимание! При отладке проблем с мультикастом (IPTV/VoIP) рекомендуется отключить в интернет-центре компонент операционной системы Сетевой ускоритель.
Внимание! При отладке проблем с мультикастом (IPTV/VoIP) рекомендуется отключить в интернет-центре компонент операционной системы Сетевой ускоритель.
Чтобы запустить созданное правило нажмите кнопку Старт (см. рисунок ниже).
После запуска роутер начнет собирать сетевые пакеты.
После того как проблема была воспроизведена, нужно остановить захват пакетов, нажав кнопку Стоп.
После того как проблема была воспроизведена, нужно остановить захват пакетов, нажав кнопку Стоп.
Чтобы посмотреть сохраненные файлы, нужно нажать на кнопку Скачать.
Будет предложено сохранить файл в формате *.pcapng, который содержит захваченные сетевые пакеты.
Для просмотра этого файла на компьютере нужно использовать программу анализатор сетевого трафика Wireshark.
Примечание
Дополнительная информация для опытных пользователей!
Существуют следующие особенности при работе с модулем захвата пакетов:
- При больших объемах проходящего сетевого трафика часть пакетов может быть отброшена, т.к. роутер не успеет их обработать. Поэтому рекомендуется использовать фильтры, указывать направления захвата и ограничивать сторонний трафик во время сбора диагностики.
- Файл записывается циклически. Если заданный размер будет превышен, начало записи стирается, а новая информация дописывается в конец файла.
Далее более подробно рассмотрим параметры настройки захвата пакетов.
Интерфейс — интерфейс, для которого осуществляется захват пакетов. Как правило, при наличии проблем в работе интернет-центра есть необходимость собирать трафик с активного подключения к Интернету (это может быть интерфейс Broadband connection ISP или подключение через USB-модем). В случае, если для подключения к провайдеру используется туннельное подключение (PPTP, L2TP, PPPoE), нужно собирать трафик именно с этого интерфейса.
В случае проблем с прохождением трафика или пробросом портов необходимо параллельно собирать трафик с внешнего интерфейса (например, ISP) и интерфейса домашней сети Home.
В случае проблем с прохождением трафика или пробросом портов необходимо параллельно собирать трафик с внешнего интерфейса (например, ISP) и интерфейса домашней сети Home.
Использовать для хранения файла — задает место для сохранения файла в формате Wireshark (файл с расширением *.pcapng), содержащего захваченные пакеты. Если выбрано значение Внешний USB-накопитель, появляется дополнительное поле Каталог для хранения файлов, где необходимо указать путь к папке на внешнем 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").
Допустимые значения 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, что поможет нашим инженерам быстрее решить ваш вопрос.