NOTE: Важно! В данной статье представлена дополнительная информация по настройке захвата сетевых пакетов для опытных пользователей.
Существуют следующие особенности при работе с модулем захвата пакетов:
- При больших объемах проходящего сетевого трафика часть пакетов может быть отброшена, т.к. роутер не успеет их обработать. Поэтому рекомендуется использовать фильтры, указывать направления захвата и ограничивать сторонний трафик во время сбора диагностики.
- Файл записывается циклически. Если заданный размер будет превышен, начало записи стирается, а новая информация дописывается в конец файла.
Далее более подробно рассмотрим параметры настройки захвата пакетов.
"Подключение" — интерфейс, для которого осуществляется захват пакетов. Как правило, при наличии проблем в работе интернет-центра есть необходимость собирать трафик с активного подключения к Интернету (это может быть интерфейс "Провайдер" или подключение через USB-модем). В случае, если для подключения к провайдеру используется туннельное подключение (PPTP, L2TP, PPPoE), нужно собирать трафик именно с этого интерфейса.
В случае проблем с прохождением трафика или пробросом портов необходимо параллельно собирать трафик с внешнего интерфейса (например, "Провайдер") и интерфейса "Домашняя сеть".
"Место хранения" — задает место для сохранения файла в формате Wireshark (файл с расширением *.pcapng), содержащего захваченные пакеты. Если выбрано значение Внешний USB-накопитель, появляется дополнительное поле Каталог для хранения файлов, где необходимо указать путь к папке на внешнем USB-носителе. Если выбрано значение "Внутренняя память", файл будет сохраняться во внутренней памяти роутера.
Если к интернет-центру подключен внешний USB-накопитель с достаточным запасом свободной памяти (по крайней мере больше внутренней), рекомендуется использовать его, чтобы гарантировано поместилось больше полезной информации.
"Размер буфера" — задает размер буфера для временного хранения пакетов в библиотеке захвата (или ядре, в зависимости от платформы). Минимальное значение - 64 Кб, максимальное - <размер оперативной памяти в Кб>/16. Например, для интернет-центра Keenetic Omni (KN-1410) максимальный размер буфера может составлять 128*1024/16 = 8192 Кб.
Рекомендуется устанавливать максимально возможное значение для конкретной модели, чтобы собрать максимально полный дамп пакетов.
"Максимальный размер файла" — максимальный размер выходного файла с захваченными пакетами. Размер задается в килобайтах. Если задан этот параметр, захват осуществляется в кольцевой буфер, а по окончании сеанса захвата сохраняется в выходной файл. Этот параметр необходим для устройств без USB-накопителя. Минимальное значение - 64Кб, максимальное - <размер оперативной памяти в Кб>/16.
Например, для интернет-центра Keenetic Omni (KN-1410) максимальный размер буфера может составлять 128*1024/16 = 8192 Кб.
"Максимальный размер пакета" — задает максимальный размер данных, который будет сохранен из пришедшего кадра. Параметр всегда возвращает настроенное значение. Значение по умолчанию - 1518, допустимый диапазон - [1...16380].
"Тип захватываемого трафика" — определяет, какой тип трафика будет захвачен (входящий/исходящий/оба). Значение по умолчанию - "Входящий и исходящий". Настройка всегда сохраняется в конфигурацию.
"Фильтр захвата" — задает строку с описанием фильтра пакетов в формате Berkeley packet filter. Синтаксис фильтра используется такой же, как Capture Filter в программе Wireshark.
Примеры использования фильтров:
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-сервером
udp port 67 or udp port 68 or arp — фильтр, захватывающий обмен данными с запросами DHCP и ARP
"Тайм-аут" — задает значение тайм-аута при чтении пакета из интерфейса в миллисекундах. Всегда возвращает настроенное значение. Значение по умолчанию - 1000. Допустимый диапазон - [10...10000].
"Неразборчивый режим" — включает режим "без разбора адресата", в котором записываются все пакеты, включая те, что не предназначены выбранному интерфейсу. В обычном режиме такие пакеты отбрасываются.
Рассмотрим пример захвата сетевых пакетов с определенного ПК в домашней сети, чтобы отследить обмен ICMP-запросами между этим ПК и каким-то ресурсом в сети Интернет. В этом случае захват пакетов нужно производить с интерфейса локальной сети "Домашняя сеть" (Home) и внешнего (WAN) интерфейса роутера, который подключен к сети Интернет (в нашем примере это интерфейс "Провайдер").
IP-адрес ПК в локальной сети: 192.168.4.34
IP-адрес на WAN-интерфейсе ISP: 46.72.188.17
Ресурс в Интернете, на который отправляем пинг-запросы: 77.88.8.8 (в нашем примере это публичный DNS-сервер Яндекса).
Необходимо создать два фильтра (для интерфейсов "Домашняя сеть" и "Провайдер"):
1. В локальной сети нужно отфильтровать пакеты с IP-адресом 192.168.4.34 по протоколу icmp.
Фильтр будет: ip host 192.168.4.34 and ip proto \icmp
2. На WAN-интерфейсе нужно отфильтровать пакеты по IP-адресу 77.88.8.8, на который ПК локальной сети отправляет icmp-запросы, и протоколу icmp.
Фильтр будет: ip host 77.88.8.8 and ip proto \icmp
В итоге будут созданы два правила, которые нужно включить, нажав кнопку "Запустить".
После запуска захвата сетевого трафика роутер начнет собирать пакеты, удовлетворяющие указанным фильтрам. В процессе работы модуля необходимо запустить пинг с компьютера локальной сети до указанного интернет-ресурса:
ping 77.88.8.8 -t
После нескольких попыток пинга (удачных или неудачных) необходимо остановить захват пакетов, нажав кнопку "Остановить". Для просмотра файла *.pcapng используйте программу анализатор сетевого трафика Wireshark.
NOTE: Важно! При обращении в нашу службу технической поддержки помимо файла с дампом сетевого трафика (*.pcapng), полученного в результате захвата пакетов, нужно обязательно предоставить системный файл self-test.txt. Сохраните его сразу после выполнения захвата пакетов.
Информация одного файла *.pcapng без self-test.txt будет бесполезной, т.к. по дампам невозможно определить условия, в которых осуществлялся захват пакетов.