Интернет-центры Zyxel Keenetic Omni II и Keenetic Lite III. Просмотр захваченных пакетов Анатомия команд tcpdump

Наибольшее число дампов сейчас записываются при помощи SPAN-портов. Теперь, когда мы знаем о SPAN очень многое (из предыдущей статьи), пришло время узнать об устройствах TAP – когда и как их нужно использовать для записи дампа и что это вообще такое.

ТАР – это сокращение от “T est A ccess P ort”. (В русском языке подобное устройство называется “ответвитель трафика ”. Однако для удобства я предпочту использовать оба варианта – как английское сокращение ТАР, так и русскоязычный вариант – прим. перев.) Предназначение ТАР – дать вам доступ к трафику, который проходит через определенный канал связи.

При захвате трафика правильно задействовать ТАР – прямой путь к получению максимально точного и достоверного дампа. Обратите внимание на слово “правильно”! Да, именно это я имею в виду – даже с ТАР можно получить некорректный результат, если неправильно его использовать. Естественно, мы рассмотрим эти моменты, а пока посмотрим немного подробнее, что это за устройство, как оно используется.

Вы не ошибетесь, если представите себе ответвитель как небольшую коробочку, которая устанавливается в разрыв кабеля и предоставляет доступ к данным, которые по нему проходят. Наверняка вы слышали термин “человек посередине” (он же “Man in the middle”) – именно это и делает ТАР, причем на физическом уровне (Layer 1). “Установить в разрыв” означает именно физический процесс – вы вытаскиваете кабель из порта, скажем, коммутатора, вставляете его в ТАР, а вторым дополнительным кабелем (не забудьте взять его с собой!) соединяете ТАР с конечным узлом сети.

Кстати, второй дополнительный кабель должен быть “перевертышем” , но в последнее время это становится все менее необходимым требованием, потому что уже немного осталось сетевых устройств, которые не могут самостоятельно позаботиться об этом (функция Auto MDI-X). Поэтому и прямой кабель в тоже большинстве случаев заработает нормально.

Работа с ТАР/сплиттерами

Давайте рассмотрим, как использовать ТАР в самом общем случае. С самого начала, если вы начнете выбирать, какой именно ответвитель нужен, вы обнаружите, что существует много их разных видов для разной сетевой инфраструктуры. Самый первый выбор, который нужно сделать – это оптика или медь . Оптические ответвители зачастую называют “сплиттерами “. Функциональность ТАР может быть достаточно богатой и сложной, поэтому выбор конкретной модели может занять много времени и усилий, особенно, если у вас нет достаточного опыта и знаний о том, на что конкретно обращать внимание. Но не переживайте – я собираюсь помочь с этим в текущей статье. Итак, вначале давайте посмотрим, что есть общего у всех ТАР независимо от типа.

Отключение/подключение сети

Ответвитель должен быть установлен в разрыв физического линка (если мы не говорим о “виртуальных ТАР”, которые некоторые вендоры разрабатывают для использования в виртуальных средах, но это скорее маркетинговое название, в большей или меньшей степени). Установка в разрыв означает, что что придется пережить как минимум один цикл прерывания линка. Для того, чтобы отключить ТАР после захвата, придется пережить второй такой же цикл. Кстати, второй разрыв линка – это одна из причин, по которой мне постоянно приходится покупать для себя новые ответвители: время от времени мои клиенты предпочитают просто купить мой ТАР и оставить его установленным, не убирая вовсе после окончания анализа. Тем самым избежав необходимости ещё раз разрывать линк (а заодно получая возможность постоянного мониторинга).

Cовет: если вы в команде сетевых инженеров, проектирующих датацентр , добавьте ТАР ещё на этапе проектирования и установите изначально – очень часто это единственный способ иметь ответвитель на backbone-линке, потому что со стопроцентной гарантией никто вам не позволит установить его позже, разорвав настолько важный и загруженный линк, по которому постоянно протекает масса данных. Стоимость ТАР в этом случае будет на порядки меньше стоимости high-end коммутаторов и маршрутизаторов, и в то же время он будет очень полезен при необходимости траблшутинга. И если вы выберете надежный, хорошо зарекомендовавший себя бренд, вам не нужно будет переживать о дополнительной точке отказа в системе – ответвители такого порядка имеют резервированный блок питания, а также защиту при аварийном отключении электричества (автоматический режим байпасса). Ничто мне не говорит о профессионализме команды сетевых инженеров больше, чем тот момент, когда я вижу на объекте несколько профессиональных ответвителей, уже установленных в наиболее критичных точках по всей сети.

Истина в пакетах

Использование ТАР – это единственный путь к получению настоящей картины того, что происходит в линке. ТАР исключает возможность потери пакета или манипуляции в случае, если атакующий имеет доступ к вашей сети. Помните: SPAN-порт может “прятать” пакеты по причине компрометации или просто из-за перегрузки. Тогда как абсолютно невозможно манипулировать пассивным полнодуплексным сплиттером и практически невозможно всеми остальными типами ответвителей. Конечно, стоит отметить, что есть и “навороченные” управляемые ответвители с веб- или CLI-интерфейсом, а всем, что управляется, можно и манипулировать. Но – если вы выберете правильный тип ТАР, никто не будет в состоянии спрятать от вас свои вредоносные пакеты. Поэтому наиболее квалифицированные злоумышленники стараются или сымитировать обычный, не вызывающий подозрения трафик, или прячутся в огромном числе пакетов, чтобы их было труднее в этой массе заметить.

Поведение при перебоях с электричеством

Ответвители, которым для работы необходимо питание (практически все “медные”, а также более функциональные оптические с агрегацией линков) обычно имеют механизм защиты на Layer 1 (физическом уровне) для случаев пропадания питания. Это представляет из себя что-то типа реле, которое замыкается при пропадании питания и соединяет линк в обход ТАР (активируется режим байпасса). Такую сработку – щелчок – можно даже услышать, когда вы включаете/выключаете ТАР по питанию.


Рис. 2 – Поведение при сбое питания

Обычно время реакции ответвителя на событие пропадания питания занимает меньше секунды. Но – все-таки, это достаточно неприятный факт, потому что может вызвать обрыв текущих сессий, а также старт какой-либо процедуры схождения сети. Все же, как минимум, это обеспечит возврат сети в исходное состояние без вмешательства персонала. Также имейте в виду, что без питания ТАР перестанет выполнять основную функцию – и вы больше не увидите трафика на его мониторном порту. При этом восстановление питания на ТАР снова вызовет flap/ресинхронизацию линка.

Совет: если вам нужно снова подать питание на медный ответвитель, делайте это во время сервисного окна длиной как минимум 5 минут, потому как продакшн-линк может быть “потушен” слишком надолго для выживания части соединений.

Выходной (мониторный) порт – только на передачу!

Выходные линки ответвителя созданы для работы только на передачу, то есть, они не примут никаких пакетов на входе. Поэтому устройство захвата (или вообще любое другое устройство, которое висит на мониторном порту) не может передавать пакеты в сеть, влияя на другие соединения.


Рис. 3 – Отбрасывание пакета на мониторном порту

Изредка находится кто-нибудь, желающий, чтобы ТАР имел на борту функцию инжектирования пакетов в сеть. Чаще всего это относится к случаю, когда у вас на мониторном порту висит IDS, и вы хотите отправлять RST-пакеты с него как реакцию на подозрительные подключения. Но это не лучший вариант реализации, в подобной ситуации лучше установить в сети inline-IPS.

Совет: все-таки проверьте, принимает ли ваш ответвитель пакеты на мониторном порту. Некоторые производители предлагают ТАР (ну, или они просто называют их так), которые не отбрасывают входящие пакеты. Это может быть как в виде отдельной функции, так и втихую, не ставя вас в известность. По моему мнению, это или бесполезно (IDS) или попросту вредно (“Man on the side” / “Man in the middle” с использованием сконструированных пакетов).

Полнодуплексные ответвители

Вы могли уже заметить, что на рисунке 1 ТАР подключается немного другим способом, чем SPAN-порт. У вас не один агрегированный линк, а два отдельных. Посмотрим снова:

Как видим, пакеты по направлению ПК -> коммутатор передаются на один мониторный порт, а встречные пакеты – на другой. Такой ответвитель называется полнодуплексным – каждое направление коммуникации перенаправляется на свой выделенный мониторный порт. Конечно, это значит, на устройстве захвата вам понадобятся два порта для получения полного дампа. Это имеет свои преимущества, но повышает цену. (Стоит отметить, что многие коммутаторы умеют делать так же со SPAN – перенаправлять разнонаправленный трафик в разные порты – прим. перев.)

Полоса пропускания при полном дуплексе

Запись трафика на прием и на передачу двумя портами означает, что у вас не возникнет перегрузка линка: если, например, гигабитный линк имеет скорость 1 Гбит/с на прием и столько же на передачу, а в сумме 2 Гбит/с – ТАР передает по 1 Гбит/с через каждый из портов. Потому у нас могут появиться дропы только на самом устройстве захвата.

Сплиттеры

Сплиттеры – это оптические ответвители. Они могут работать вообще без питания, просто используя в конструкции оптические элементы наподобие полупрозрачных зеркал. И если вы переживаете насчет привнесения в систему дополнительной точки отказа, сплиттер – это лучшее решение.

Полупрозрачные зеркала отражают часть сигнала из оптического кабеля по направлению в устройству захвата в то время, как оставшаяся часть проходит дальше к получателю. Для такого типа сплиттера вообще не нужна электрическая часть. Современные сплиттеры могут работать на линках разной скорости – вам не нужно покупать отдельный сплиттер для захвата на 1Гбит/с и отдельный для 10 Гбит/с.

Если посмотреть на сплиттер, то можно увидеть характеристику “Split Ratio“ , то есть, соотношение или коэффициент разделения. Это – процентное количество светового сигнала, которое отражает зеркало. Типичные значения параметра – 70/30 и 50/50 , что означает соответственно 70% пройдет на основной линк и 30% на мониторный порт, или, для второго примера – по 50% в каждый из портов. Небольшое предупреждение: я встречал инженеров, которые предпочитали использовать сплиттеры с коэффициентом 90/10, опасаясь, что слишком много сигнала уйдет на мониторный порт и это может повредить основному каналу. И это на самом деле теоретически может произойти для протяженных по расстоянию каналов. Подход 90/10 исключит такое развитие событий, но в то же время оставшихся 10% практически всегда оказывается недостаточно для устройства захвата и оно не может установить соединение. Лично я предпочитаю сплиттеры с соотношением 70/30, и до сих пор у меня не было ни одной проблемы с ними.

Следующая характеристика, которую нужно иметь в виду – тип оптического коннектора сплиттера. Существует достаточно много их видов , не всегда коннекторы на сплиттере и на карте захвата совпадают. Наиболее распространенный сейчас – тип LC, он постепенно заменяет более старые и громоздкие коннекторы типа SC.

Правильная установка сплиттера иногда тоже бывает проблемой – если вы установили его, основной линк поднялся и продолжил нормально работать – это вовсе не означает, что вы уже получаете копию трафика на мониторном порту. Потому что сплиттер вполне возможно установить неправильно – так, что свет будет падать на зеркало с обратной стороны и соответственно отражаться не в том направлении. Если это произошло – отключите кабель основного линка и поменяйте местами RX/TX с обеих сторон. Ну и также это значит, что лучше запланировать эти операции в пределах сервисного окна как минимум 15-минутной продолжительности. Ведь, в отличие от медного ТАР, на установку которого нужна минута, возможно, вам придется делать переподключение и проверку. И снова не забудем о классическом предупреждении – никогда не смотрите прямо на оптический линк, чтобы проверить наличие сигнала – мощность лазера достаточно велика, чтобы повредить зрение!

Интересно, что оптический сплиттер в отличие от медного ответвителя имеет три порта, а не четыре. Это потому, что он использует один физический порт для обоих мониторных каналов:


Рис.6 – Схема портов медного и оптического ТАР

Вы можете использовать один обычный оптический кабель для обоих мониторных портов, просто на втором конце (со стороны устройства захвата) оба коннектора соединяются со входами карты, тогда как выходы карты остаются неиспользуемыми.

Проблема нарушения порядка пакетов

Если вы используете полнодуплексный ответвитель, устройство захвата должно иметь 2 свободных сетевых порта на одной сетевой карте или две сетевых карты. Тогда вы получите каждый из мониторных потоков в отдельный порт, и после этого возникает необходимость пересобрать из двух потоков один. Эта задача сложнее, чем она кажется на первый взгляд. Многие предполагают, что двух самых обычных сетевых карт вполне хватит, и никаких сложностей быть не должно. Но на самом деле все выходит несколько иначе. Проблема же в том, что две сетевые карты в одном ПК далеко не всегда передают захваченные пакеты к ПО захвата моментально:


Рис.7 – Нарушение порядка пакетов в NIC

Как видите, сетевые пакеты с верхней карты передаются процессу захвата быстрее, чем с нижней. Это происходит очень часто – ведь обычные сетевые карты, которые используются для базовой сетевой функциональности, изначально не проектируются для соблюдения микро- или наносекундных зазоров между пакетами. Сетевой стек просто будет как-то сортировать их и передавать уже непосредственно на ПО захвата/анализа. Результат может быть раздражающим:

Рис.8 – Нарушенный порядок пакетов в Wireshark

Присмотритесь внимательно: пакет №2 – это SYN, который прилетел в дамп после SYN-ACK. В пакете №3 находится “HTTP 200 OK”, который прилетел раньше, чем закончился handshake и раньше, чем был отправлен GET request. Между некоторыми пакетами отображается отрицательный временной зазор, что является верным признаком нарушенного порядка пакетов в дампе.

Для подобной ситуации есть эффективное решение – использовать утилиту командной строки reordercap.exe , которая входит в комплект Wireshark и находится в папке установки:

Reordercap "Out of Order Sample.pcapng" "Out of Order Sample Reordered.pcapng" 12 frames, 3 out of order

Результат будет выглядеть так:

Если вы хотите сразу избежать всех этих неприятностей с неправильным порядком пакетов – есть только единственный путь: профессиональная FPGA мультипортовая карта захвата, которая пересобирает поток у себя на борту ещё перед отправкой дальше по стеку. Это именно тот путь, которым я пользуюсь при захвате с полнодуплексного ответвителя. У меня есть несколько устройств для захвата, среди них – пара старых Network General S6040 19″ стоечного форм-фактора, в которые можно ставить до 4-х полнодуплексных карт захвата. Такие карты я собираюсь рассмотреть подробнее в одном из следующих моих постов.

ТАР с агрегацией потоков

ТАР с агрегацией подключаются с основному линку таким же образом, как и полнодуплексные:

Но, в отличие от полнодуплексных ответвителей, у них есть только один выходной мониторный порт. То есть, это в чем-то похоже на SPAN-порт – такой ответвитель будет сливать два потока в один перед отправкой на карту захвата. Хорошие стороны такого подхода следующие: для захвата нужна только одна карта и не надо думать про нарушенный порядок пакетов – об этом позаботится сам ТАР.

Но есть и проблемы в таком подходе. Конечно же, это проблема перегрузки выходного мониторного порта. В общем, снова про те же 1Гбит/с на прием, столько же на отдачу… Вы понимаете. Чтобы избежать этой неприятности, можно использовать ТАР с выходным портом, имеющим большую скорость, чем сумма входных портов. Как частность – существуют ТАР, которые подключаются к ПК посредством USB3. На входе они подключаются точно так же, как и все остальные, а выходной поток передают по USB3-кабелю (с макс. скоростью передачи в 6Гбит/с, чего вполне достаточно для мониторинга полнодуплексного гигабитного линка с полной загрузкой).

ТАР с агрегацией технически гораздо сложнее, чем полнодуплексные их коллеги, потому они гораздо дороже и стартуют примерно с 1000 евро. Самые простые полнодуплексные ТАР можно найти за пару сотен евро.

О дешевых ТАР

Я практически уверен, что некоторые из вас качают головой, когда видят примерные цены ответвителей, думая – почему же так дорого? Ну… Это зависит от того, что вы хотите получить от ТАР и где их использовать. Есть возможность найти или самому построить ответвитель за несколько долларов или купить вариант с агрегацией за пару сотен. Причина настолько низкой цены – в данном случае это может быть только медный ТАР и только ограниченный 100 Мбит/с. Также в таких ТАР недостает большинства функций. По моему опыту:

  • в них нет механизма байпасса при пропадании питания, что ограничивает использование (уж точно не надо делать этого в датацентре);
  • они позволяют инжектирование пакетов в сеть.

Так как установка ТАР – это добавление точки отказа в рабочую сеть, нужно быть уверенным, что есть механизмы защиты, такие, как резервированный блок питания или режим байпасса (или обе функции).

Для того, чтобы просмотреть захваченные пакеты необходимо выбрать пункт меню Capture\Display captured data или нажать клавишу F10, или нажать соответствующую кнопку на панели инструментов. При этом откроется окно просмотра пакетов:

Каждая строчка в этом окне соответствует одному захваченному пакету, пакеты располагаются в том порядке, в котором были захвачены (то есть в порядке, в котором были переданы по сети). Чтобы перейти в режим просмотра содержимого пакета, необходимо выбрать пакет и нажать Enter, либо дважды кликнуть мышью на пакете. При этом окно разделится на 3 части:

Верхнее окно по-прежнему отображает все пакеты. Среднее окно – детальную информацию о выбранном пакете. Нижнее – содержимое выбранного пакета в шестнадцатиричном виде.

Верхнее окно отображает следующую информацию для каждого пакета:

Frame - Порядковый номер пакета. Начинается с 1.

Time – Время захвата пакета. Этот параметр имеет разный смысл, в зависимости от опции Display\options:

Абсолютное (системное) время

Продолжительность захвата пакета

Время между окончанием захвата предыдущего пакета и началом захвата текущего

Src MAC Addr - MAC - адрес источника. Может отображаться как в виде 6-байтового значения MAC-адреса, так и в виде имени Таблицы адресов Network monitor (см п. 5)

Dst MAC Addr - MAC – адрес получателя. Может отображаться как в виде 6-байтового значения MAC-адреса, так и в виде имени Таблицы адресов Network monitor (см п. 5)

Protocol Протокол верхнего уровня, который был источником пакета.

Description Краткое оприсание содержимого протокола

Src Other Addr Адрес источника на сетевом уровне (обычно IP - адрес или IPX - адрес). Тип указывается в параметре Type Other Addr.

Dst Other Addr Адрес назначения на сетевом уровне (обычно IP - адрес или IPX - адрес). Тип указывается в параметре Type Other Addr.

Type Other Addr Тип сетевого адреса (тип используемого для передачи протокола сетевого уровня). Определяет тип значений двух предыдущих полей.

Среднее окно является основным и содержит детальную информацию о пакете. Состоит из нескольких секций. Верхняя секция – Frame – содержит общую информацию о пакете (не содержащуюся в теле пакета), такую как время, номер пакета и его размер. Количество с состав остальных секций будет зависеть от количества заголовков протоколов разных уровней , которые использовались при формировании пакета, то есть от назначения пакета и программного компоненте – источника пакета. Каждая секция соответствует своему протоколу, порядок расположения секций – порядку расположения заголовков в теле пакета, то есть порядку обработки пакета. Это в свою очередь соответствует порядку расположения уровней в 7-уровневой модели OSI.


Нижнее окно отображает содержимое тела пакета в шестнадцатиричном виде и в виде символов ASCII. При выделении секции в среднем окне, в нижнем окне выделяется часть пакета, соответствующая выделенной секции.

Таблица адресов Network monitor

Для упрощения чтения информации о захваченных пакетах и создании фильтров (см. п. 6) каждому адресу компьютера в сети можно сопоставить символьное имя, которое будет отображаться в соответствующих полях при просмотре пакетов вместо MAC-адреса или адреса компьютера сетевого уровня. Информация об этих символьных именах и адресах, которые им сопоставлены, хранится в таблице адресов Network Monitor. Просмотреть и отредактировать таблицу адресов можно, выбрав пункт меню Display\Addresses. Адресная таблица имеет следующий вид:

Основными полями таблицы адресов являются символьное имя, сопоставленный ему адрес и тип адреса. Следует обратить внимание, что адрес может быть как физический, так и сетевой, поэтому для каждого символьного имени может быть задано два адреса разного типа.

Таблица адресов формируется автоматически в процессе захвата пакетов. При этом в качестве символьных имен используются NETBIOS-имена компьютеров.

Существуют записи адресной таблицы по умолчанию (помечены символом *). Они задают имена для специальных адресов физического уровня. Например для широковещательных пакетов Ethernet, адрес назначения которых состоит из двоичных единиц (FFFFFFFFFFFF) используется имя BROADCAST.

Для того чтобы добавить адрес в таблицу, нужно нажать кнопку Add.., после чего появится диалоговое окно:

Установка фильтров на захват пакетов (Capture filter)

При решении конкретных задач анализа сетевого трафика обычно бывает необходимо захватывать не все пакеты, передаваемые по сети (их количество может быть очень большим!), а только определенные, то есть пакеты, удовлетворяющее определенным условиям. Для этого устанавливаются фильтры захвата (Capture filter – не путать с фильтрами просмотра – Display filter!). Для того чтобы просмотреть или изменить фильтр захвата нужно выбрать меню Capture\Filter. Появится окно отображающее текущий фильтр:

Фильтрация захватываемых пакетов возможна на основе следующих критериев:

Тип протокола . Для определения этого критерия необходимо дважды кликнуть на строке SAP/ETYPE = … Появится диалоговое окно, которое позволяет разрешить или запретить захват пакетов определенного протокола. По умолчанию все протоколы разрешены для захвата (Enabled protocols):

Адрес компьютера . Для определения этого критерия необходимо дважды кликнуть на строке Address Pairs. Появится диалоговое окно, которое позволяет определить пары адресов, при передаче между которыми пакеты будут захватываться. Кроме того, можно определить направление передачи захватываемых пакетов (Direction) – двустороннее или только в направлении от одного адреса другому. Имя *ANY соответствует любому адресу любого типа. По умолчанию этот критерий настроен на захват всех пакетов во всех направлениях (ANY<->ANY).

Соответствие поля пакета шаблону (Pattern matches). Позволяет захватывать пакеты, содержимое которых соответствует шаблону. Шаблон представляет собой двоичные данные (Hex) или строку символов (ASCII) и смещение в байтах относительно начала пакета (From start of frame). Пакет будет захвачен, если его содержимое по указанному смещению соответствует указанной последовательности двоичных или символьных данных. По умолчанию шаблон не задан, то есть все пакеты соответствуют шаблону.

Все три вышеописанных критерия объединены по логической схеме «И» (AND). Это означает, что пакет будет захвачен в том случае, если соответствует всем трем критериям. Для критерия Pattern matches могут быть заданы несколько условий, комбинированных в логическое выражение. Например, следующий фильтр предназначен для захвата пакетов, содержащих указанные данные по смещению 0x30 либо указанные данные по смещению 0x50 и не содержащих указанных данных по смещению 0x4.

6.3. Порядок выполнения работы

1. В командной строке выполнить команду ipconfig /all. Просмотреть и записать имя, MAC-адрес (физический адрес) и IP- адрес вашего компьютера.

2. Выбрать в меню Capture/Networks интерфейс для захвата пакетов.

3. Создать фильтр, предназначенный для захвата пакетов, передаваемых между вашим компьютером и всеми остальными компьютерами сети в обоих направлениях. При выборе адреса вашего компьютера их таблицы адресов необходимо указать имя LOCAL соответствующее физическому адресу вашего компьютера. Сохранить фильтр в файле, имя которого совпадает с вашим именем пользователя с индексом 1 (например 281san1.cf).

4. Используя созданный фильтр, захватить небольшое количество пакетов (100-200). При этом после запуска захвата пакетов необходимо инициировать сетевую активность своего компьютера – например, запустить Интернет-браузер, браузер для просмотра сетевого окружения, обратиться к сетевому диску.

5. Перейти в режим просмотра захваченных пакетов.

6. Из общего количества пакетов (за исключением первого и последнего пакета) выбрать несколько пакетов, имеющих различную структуру (не менее 3-х). В среднем окне просмотра открыть секции Frame и Ethernet, просмотреть содержимое полей.

7. Выписать и оформить в виде таблицы следующую информацию о пакетах:

§ MAC-адрес источника (Source address)

§ MAC-адрес назначения (Destination address)

§ Тип протокола верхнего уровня (Ethernet Type)

§ Общий размер пакета (Total Frame Lengths)

§ Размер поля данных Ethernet-пакета (Number of data bytes remaining)

§ Порядок вложенности протоколов. Например, для рассматриваемого выше пакета Ethernet,IP,TCP,NBT

9. Создать фильтр для захвата пакетов, не содержащих IP-пакеты. Для этого в окне Capture filter выбрать строку SAP/ETYPE и нажать кнопку Edit.

Запретить захват IP-пакетов и нажать ОК.

10. Произвести захват пакетов (захватить не менее 3-х пакетов), повторить п.7.

6.4. Контрольные вопросы

1. Можно ли при помощи сетевого монитора захватить пакет, если в нем ни MAC-адрес источника, ни MAC-адрес назначения не являются МАС-адресом компьютера, с которого производится захват? Объяснить.

2. Что такое MAC-адрес?

3. Что такое сетевой адрес?

4. Приведите краткое описание алгоритма передачи пакетов по сети Ethernet.

5. Из каких полей состоит заголовок кадра Ethernet?

6. Какой размер имеет заголовок кадра Ethernet?

7. После окончания захвата показатели Network statistic – frames и Captured statistic - frames имеют одинаковые значения. Какой вывод можно сделать?

8. Что такое инкапсуляция пакетов различных уровней?

Лабораторная работа 7. Состав стека протоколов TCP/IP. Изучение протоколов ARP, IP, ICMP.

7.1. Введение

Стек протоколов TCP/IP в настоящее время является наиболее популярным средством организации составных сетей. На основе этого стека протоколов организована глобальная сеть Internet. Поэтому именно на примере этого стека целесообразно проводить изучение средств сетевого уровня. В данной лабораторной работе приводится краткая характеристика стека TCP/IP, назначение и функции протокола межсетевого взаимодействия IP, протокола разрешения адреса ARP, протокола управляющих сообщений Internet ICMP.

7.2. Общая характеристика стека протоколов TCP/IP

В стеке TCP/IP определены 4 уровня. Каждый из этих уровней несет на себе некоторую нагрузку по решению основной задачи - организации надежной и

производительной работы составной сети, части которой построены на основе раз­ных сетевых технологий.

Dec 19, 2011 By Henry Van Styn
in HOW-TOs

Захват пакетов - один из наиболее мощных способов анализа сетевых процессов. Вы можете многое узнать о том, что происходит в сети с помощью перехвата и исследования сырых данных, проходящих по сетевым соединениям. Современные утилиты анализа трафика позволяют захватить, интерпретировать и описать потоки данных в человеко-читаемом стиле.

tcpdump - важнейший инструмент прослушивания трафика, или снифинга, он предоставляет множество возможностей анализа и даже может экспортировать интерпретированные поля пакетов в другие программы.

Если вы думаете, что утилиты, подобные tcpdump, утрачивают свое значение с появлением графических инструментов типа Wireshark, подумайте еще раз. Wireshark - отличное приложение, однако вовсе не универсальный инструмент абсолютно для всех ситуаций. В качестве универсального легковесного решения для различных применений (как например юниксовые инструменты cat, less и hexdump) tcpdump смотрится намного круче. И наиболее впечатляющая его особенность, это удобство использования. В качестве стиля поведения он следует приближению к концепции "команды в одну строку" для получения быстрых одноходовых ответов. Кроме того его можно применять в рамках ssh-сессии без нужды использования графики. Благодаря поддержке соглашений синтаксиса командной строки (например, выдача выходного потока данных на стандартный вывод, который можно перенаправить) tcpdump может быть использован во всех типах конвейеров для построения интересных и полезных утилит.

В настоящей статье я рассмотрю некоторые базовые принципы использования tcpdump и основы его синтаксиса.

Основы

Прежде, чем вы станете мастером использования tcpdump, следует понять некие фундаментальную идеи. Во-первых, захват пакетов есть процесс пассивный, он никак не изменяет трафик и ничего не транслирует в сеть от себя. Во-вторых, вы можете захватить только такие пакеты, которые получает ваша система. Если какие-то два хоста обмениваются пакетами напрямую и этот трафик минует ваш компьютер, вы ничего не увидите, независимо от инструмента наблюдения. В-третьих, вы можете захватывать только те пакеты, которые адресованы вашей системе, если сетевой интерфейс не переведен в беспорядочный режим.

Поскольку предполагается, что вы интересуетесь бОльшим, чем только пакеты для вашей системы, tcpdump переведет первый интерфейс в системе (если прямо не указан другой) в беспорядочный режим автоматически. Эта операция требует привилегий суперпользователя.

Анатомия команд tcpdump

Команда tcpdump состоит из двух частей: опций и выражения для фильтра (Figure 1).

Figure 1. Example tcpdump Command

Выражение для фильтра определяет, какие пакеты захватывать, а опции - какие из них показывать в выводе, также опции отвечают за поведение утилиты.

Опции

Опции tcpdump следуют стандартным соглашениям командной строки, поэтому формат опций - флаг-значение. Некоторые флаги не имеют значения параметра, потому что сами являются переключателями. Например, за -i следует имя интерфейса, а -n выключает разрешение имен через DNS.

Страница руководства man описывает множество опций, но есть некоторое множество их, без которых не обойтись:

I interface: интерфейс, на котором tcpdump будет прослушивать трафик;

V, -vv, -vvv: многословность вывода;

Q: тихий режим;

E: печатать заголовки кадров канального уровня (Ethernet);

N: разрешать доменные имена хостов;

T: не печатать временнЫе метки;

N: не разрешать доменные имена хостов;

S0 (or -s 0): максимальный захват, пакеты захватываются целиком; в последних версиях tcpdump это поведение по умолчанию.

Ни одна опция не является обязательной. Определяемые пользователем значения только изменяют поведение программы по умолчанию, в котором предусмотрен захват на первом интерфейсе и вывод информации о пакетах в одну строку.

Выражения для фильтра
Выражения для фильтра есть булевы критерии (да/нет) для оценки совпадения пакета с образцом. Все пакеты, не соответствующие заданным условиям, игнорируются.

Синтаксис пакетного фильтра мощный и прозрачный. В начале он содержит ключевые слова, называемые "примитивы", которые представляют собой различные классификаторы для пакетов, это могут быть протокол, адрес, порт или направление. Они могут быть соединены между собой в цепочки с помощью операторов и/или, сгруппированы и объединены правилами наследования, отсортированы с помощью отрицания.

Благодаря говорящим именам критериев, выражения для фильтров обычно выглядят как "самообъясняющие" свою суть конструкции, из-за этого их довольно легко конструировать и понимать. Полностью синтаксис описан в man-странице pcap-filter, здесь же представлены некоторые примеры:

ARP - простой протокол, он используется для разрешения IP-адресов в MAC-адреса сетевых карт. Как можно видеть выше, tcpdump описывает эти пакеты в довольно-таки примитивной манере. Пакеты DNS, с другой стороны, будут описаны несколько по-другому:

IP 10.0.0.2.50435 > 10.0.0.1.53: 19+ A? linuxjournal.com. (34) IP 10.0.0.1.53 > 10.0.0.2.50435: 19 1/0/0 A 76.74.252.198 (50)

Поначалу это может показаться недостаточно ясным, но по мере изучения того, как работают протоколы различных уровней, наполнится смыслом. DNS намного более сложный протокол, чем ARP, но кроме этого он работает на более высоком уровне. Это означает, что пакеты нижележащих протоколов также отображаются в выводе. В отличие от ARP, который не маршрутизируется между различными физическими сегментами сети, DNS это протокол для всего Интернета. Для маршрутизации этих пакетов используется уровень IP, для транспорта задействован UDP. Это делает DNS протоколом пятого уровня (IP - третий уровень, UDP - четвертый).

Информация уровней UDP/IP, содержащая адрес и порт источника, отображается в левой стороне строки, специфическая DNS-информация - в правой. Несмотря на то, что синтаксис довольно сжатый, он достаточен для определения базовых элементов DNS. Первый пакет есть запрос адреса для linuxjournal.com, второй пакет - это ответ, дающий адрес 76.74.252.198. Это типичная последовательность для простых DNS-запросов.

Просмотрите секцию "OUTPUT FORMAT" справки man для tcpdump для полного описания всех протокол-зависимых форматов вывода. Пакеты некоторых протоколов видны в выводе лучше, другие хуже, но важная информация обычно находится легко.

Захват вывода в файл
Помимо обычного режима с выводом информации на консоль (стандартный вывод), tcpdump также поддерживает режим записи вывода в файл. Режим активируется опцией -w, в которой задается путь к файлу.

При записи в файл tcpdump использует другой формат, чем при выводе на экран. Это так называемый сырой вывод, в нем не производится первичный анализ пакета. Эти файлы можно затем использовать в сторонних программах типа Wireshark, потому что формат записей в файл соответствует универсальному формату "pcap" (на ввод tcpdump такой файл можно подать с помощью опции -r). Эта возможность позволяет нам захватывать пакеты на одной машине, а анализировать на другой. Например, у вас на ноутбуке есть Wireshark. Вам не потребуется его подключать к анализируемой сети, чтобы просканировать захваченный ранее файл.

Анализ протоколов на основе TCP
tcpdump - это пакетный анализатор, поэтому он хорошо работает с протоколами, основанными на работе с отдельным пакетом, например, IP, UDP, DHCP, DNS и ICMP. Если же есть некий "поток", или последовательность пакетов для установления соединения, tcpdump не сможет напрямую анализировать эти потоки и сценарии соединений. Такие протоколы, как HTTP, SMTP и IMAP с точки зрения сетевого взаимодействия гораздо больше похожи на интерактивные приложения, чем "пакетные" протоколы.

TCP прозрачно для пользователя обрабатывает все низкоуровневые детали, необходимые для сеансов связи в рамках сессионных протоколов. Здесь происходит инкапсуляция данных, ориентированных на поток, в пакеты (сегменты), которые уже могут быть посланы по сети. Все такие подробности скрыты ниже уровня приложений. Поэтому для захвата пакетов протоколов, ориентированных на соединения, требуются дополнительные шаги. Поскольку каждый сегмент TCP есть кусочек данных уровня приложения, информация о нем не может быть использована напрямую. Чтобы это имело бы смысл, нужно полностью восстанавливать TCP-сессию (поток) из последовательности отдельных пакетов. Этой возможности tcpdump не имеет. Для анализа сессионных протоколов можно использовать то, что я назвал "трюк со строками".

Трюк со строками
Обычно при захвате трафика я имею в виду цель анализа причин каких-то ошибок. Данные вовсе не должны быть идеальными для просмотра, чтобы понять причины каких-либо инцидентов. В таких случаях скорость понимания важнее всего остального. Следующий трюк - это одна из самых любимых моих техник работы с tcpdump. Это работает потому что:

TCP сегмены обычно идут в хронологическом порядке;
- протоколы приложений, основанных на тексте, генерируют пакеты с текстовой нагрузкой;
- данные, окружающие текстовую нагрузку (например, хэдеры пакетов) - это не текст;
- UNIX-утилиты могут сохранять текст из бинарного вывода приложений;
- если запускать tcpdump с опцией -w -, он будет генерировать на стандартный вывод сырую информацию.

Соединив все вместе, получим инструмент для захвата данных HTTP-сессий.

Кроме того, вы должны понимать, что в выводе может содержаться некоторое количество мусора. Лишнее можно отрезать с помощью опции утилиты strings, которая ограничивает длину вывода строки (смотри man strings).

Этот трюк довольно хорошо работает для любых протоколов, основанных на тексте.

Анализ HTTP и SMTP
Трюк со строками из предыдущего раздела может помочь для захвата данных сессий HTTP, несмотря на отсутствие встроенного анализатора потоков. Полученные данные можно "проанализировать" и потом множеством различных способов.

Например, вам вздумалось проверить доступность всех сайтов, в имени которых есть "davepc", в реальном времени. Поможет такая команда, запущенная на файерволе (подразумевается, что внутренний интерфейс eth1):

Это только два простых примера для иллюстрации возможностей. Вы же можете пойти настолько далеко, что, например, напишете скрипт на Perl для более глубокого анализа полученных строк.

Таким образом, настоящая мощь tcpdump проявляется в тех случаях, когда вы хотите быстро получить ответы на некоторые вопросы без особых усилий. Особенно это важно при отладке сетевых приложений.

Отладка маршрутизации и соединений VPN
tcpdump может здорово помочь при отладке таких вещей, как соединения VPN. Все, что нужно, это понять, на каких хостах какие пакеты появляются, на каких нет.

Возьмем стандартную схему соединения двух сетей через VPN-соединение. Сети 10.0.50.0/24 и 192.168.5.0/24 (Figure 2).

Figure 2. Example VPN Topology

Если это работает правильно, хосты из разных сетей должны пинговать друг друга. Если же ответы на пинги не приходят (в данном случае предположим, что они не приходят от D к хосту А), мы можем использовать tcpdump для обнаружения, где чего теряется.

Если пакеты запроса идут на хост С (удаленный шлюз), но не на D, это показывает, что само соединение VPN работает, но имеются проблемы маршрутизации. Если хост D получает запросы, но не оправляет ответы, это может означать, что протокол ICMP заблокирован. Если же ответы отправляются, но не доходят до С, возможно на D неправильно настроен шлюз по умолчанию.

Напоминаем, что попытки повторить действия автора могут привести к потере гарантии на оборудование и даже к выходу его из строя. Материал приведен исключительно в ознакомительных целях. Если же вы собираетесь воспроизводить действия, описанные ниже, настоятельно советуем внимательно прочитать статью до конца хотя бы один раз. Редакция 3DNews не несет никакой ответственности за любые возможные последствия.

⇡ Вступление

В комментариях к одной из первых статей про альтернативные прошивки читатели спрашивали, нет ли чего-нибудь подобного и для роутеров ZyXel. То ли официальные прошивки ZyXel жуть как хороши, то ли энтузиасты не такие активные, но хоть какой-то более-менее приличной альтернативы фирменным микропрограммам нынче нет. Ну, вы, конечно, можете скачать исходные коды прошивки, изменить её, заново собрать и залить в роутер. Но это как-то уже слишком для обычного пользователя. Тем интереснее выглядит совсем молодой проект наших соотечественников с незамысловатым названием zyxel-keenetic-packages , зародившийся в недрах форума Zyxmon . В данном случае идея гораздо проще и изящнее. Никаких перепрошивок роутера не требуется, а все дополнительные приложения запускаются со съёмного накопителя — флешки или внешнего винчестера. Более того, при отсоединении накопителя устройство продолжает работать как ни в чём не бывало, но, естественно, уже безо всяких «плюшек». Ну а в данной статье мы рассмотрим установку и настройку обновлённого торрент-клиента Transmission, сервера DLNA и доступ к локальной сети из Интернета посредством OpenVPN.

⇡ Подготовка

Для начала нам необходимо отформатировать накопитель в ext 2/3 или NTFS. Лучше, конечно, в ext 2/3, хотя некоторые естествоиспытатели утверждают, что и с NTFS всё прекрасно работает. Программ, которые могут форматировать разделы в нужную нам ФС, довольно много: Partition Magic, продукты Paragon и Acronis, в конце концов, бесплатный GParted Live. Если вам вдруг понадобится срочно считать данные в Windows с такого накопителя, то можно воспользоваться либо файловым менеджером Ext2Read , либо установить драйвер Ext2Fsd . Также в веб-интерфейсе роутера необходимо включить доступ к диску по сети в «USB-приложения» → «Сетевой диск».

Ещё нам понадобится SSH-клиент PuTTY и непосредственно установщик . Распакуем архив в любое удобное место. Теперь зайдём на наш накопитель по сети: Win+R, \\KEENETIC, Enter. В папке disk_a1 потребуется создать директорию system, а в ней ещё одну — bin. Вот туда-то и надо скопировать файл ext_init.sh из архива. Таким образом, полный путь до него будет выглядеть как \\KEENETIC\disk_a1\system\bin\ext_init.sh. Заодно полезно создать в корне папку data, куда будут складываться все файлы. Теперь надо отключить накопитель от роутера и снова подключить. Через пару минут в логах («Система» → «Журнал») должна появиться запись:

dropbear Running in background

Запускаем PuTTY, в поле Host Name вбиваем root@ip_адрес_роутера, а в Windows → Translation выбираем кодировку UTF-8 и нажимаем Open. Вводим пароль — zyxel (он не показывается при наборе) и нажимаем Enter. Завершаем установку и сразу же обновляем систему командами:

Finish_install.sh
opkg update
opkg upgrade

⇡ Настройка Transmission

Установка новых приложений осуществляется командой opkg install имя_пакета. На данный момент число портированных приложений не так велико — их список можно посмотреть . В принципе, в вики проекта неплохо описаны основные нюансы их установки. Однако неподготовленному пользователю вряд ли будут понятны определенные моменты относительно их настройки. Так что разберём для ясности некоторые примеры. Для начала рассмотрим установку и настройку более новой версии торрент-клиента Transmission, чем та, которая предустановлена в прошивке роутера, — 2.3 вместо 1.93. Установим клиент и текстовый редактор nano командой:

Opkg install nano
opkg install transmission-daemon transmission-web

Традиционный совет — вместо того чтобы вручную набирать команды, просто скопируйте их отсюда и кликните правой кнопкой в окне PuTTTY. По умолчанию все новые закачки будут записываться в папку transmission, то есть так же, как по умолчанию происходит и со встроенным в роутер торрент-клиентом. Предварительно остановим его, перейдя в веб-интерфейсе роутера в раздел «USB-приложения» → «Торренты», сняв галочку «Включить BitTorrent-клиент» и нажав «Применить». Отредактируем настройки Transmission командой:

Nano /media/DISK_A1/system/var/transmission/settings.json

Здесь достаточно изменить по желанию несколько строчек:

«peer-port»: 52400
«rpc-authentication-required»: true
«rpc-password»: «password»
«rpc-port»: 9091
«rpc-username»: «username»

Для включения авторизации с целью доступа к веб-интерфейсу Transmission необходимо изменить значение параметра rpc-authentication-required с false на true. Тогда вместо username и password потребуется указать соответственно логин и пароль. В peer-port и rpc-port надо указать номера портов, которые служат для соединения с другими клиентами и доступа к веб-интерфейсу клиента соответственно. Прочие параметры можно и не менять. Сохраняем файл и выходим — F2, Y, Enter. Для автозапуска Transmission при включении роутера необходимо переименовать один из скриптов:

Mv /media/DISK_A1/system/etc/init.d/ K90transmissiond /media/DISK_A1/system/etc/init.d/S90transmissiond

Его же необходимо немного подкорректировать:

Nano /media/DISK_A1/system/etc/init.d/S90transmissiond

В самом начале есть две переменные TRN_PORT и TRN_RPC_PORT. Если вы меняли в settings.json peer-port и rpc-port, то их значения нужно соответственно подставить в эти переменные. Также надо будет «раскомментировать» (убрать # в начале строки) ещё шесть команд вида iptables -A (или D) INPUT -p tcp --dport $TRN_PORT (TRN_RPC_PORT) -j ACCEPT. Не забываем сохранить файл и запускаем Transmission. Только учтите, что теперь его панель управления будет на английском языке.

/media/DISK_A1/system/etc/init.d/S90transmissiond start

⇡ Настройка медиасервера DLNA

Более полезный сервис — это minidlna. С его помощью у роутера появляется поддержка протокола DLNA, так что мультимедийные файлы можно смотреть, например, на телевизоре или приставке. Устанавливается и настраивается он гораздо проще, чем Transmission.

Opkg install minidlna
nano /media/DISK_A1/system/etc/minidlna.conf

В файле конфигурации потребуется поменять параметры media_dir, в которых надо указать папки, где хранятся мультимедийные файлы. Можно дополнительно установить фильтр типа файлов — только аудио (A), видео (V) или изображения. Помните, что корневая папка съёмного накопителя доступна как /media/DISK_A1.Вот пример настроек.

Media_dir=/media/DISK_A1/transmission/
media_dir=/media/DISK_A1/data/downloads
media_dir=A, /media/DISK_A1/data/Music_and_AudioBooks
media_dir=V, /media/DISK_A1/data/Films_and_Movies
media_dir=P, /media/DISK_A1/data/Photos

Осталось только запустить minidlna-сервер.

/media/DISK_A1/system/etc/init.d/S50minidlna start

Настройка OpenVPN

Скачайте дистрибутив OpenVPN на официальном сайте, выбрав в разделе Windows Installer. При установке отметьте галочками все компоненты. Как и в прошлый раз, мы будем использовать авторизацию по статическому ключу, то есть нам будет доступно только одно VPN-подключение. Ключ предварительно надо сгенерировать — из главного меню в разделе OpenVPN → Utilities запускаем Generate a static OpenVPN key. Готовый ключ находится в файле C:\Program Files\OpenVPN\config\key.txt. Переименуйте его в static.key и скопируйте на накопитель в папку \disk_a1\system\var. Теперь установим OpenVPN на роутер командой:

Opkg install openvpn

Создадим конфигурационный файл:

Nano /media/DISK_A1/system/etc/openvpn/openvpn.conf

И вставим в него следующие строки:

Port 1194
proto udp
dev tun
secret /media/DISK_A1/system/var/static.key
ifconfig 10.8.0.1 10.8.0.2
keepalive 10 120
comp-lzo
persist-key
persist-tun

Сохраняем файл (F2,Y, Enter). Затем чуть подправим скрипт запуска:

Nano /media/DISK_A1/system/etc/init.d/K11openvpn

В нём надо добавить правила iptables в конце разделов start

Iptables -A INPUT -p udp --dport 1194 -j ACCEPT

Iptables -D INPUT -p udp --dport 1194 -j ACCEPT

Сохраняем этот скрипт, переименовываем для автоматического запуска и сразу же запускаем.

Mv /media/DISK_A1/system/etc/init.d/K11openvpn /media/DISK_A1/system/etc/init.d/S11openvpn
/media/DISK_A1/system/etc/init.d/S11openvpn start

Теперь создадим группу правил для брандмауэра:

Nano /media/DISK_A1/system/etc/firewall.d/fw.sh

В этот файл надо скопировать следующие строки:

#!/bin/sh
iptables -I FORWARD 1 --source 10.8.0.0/24 -j ACCEPT
iptables -I FORWARD -i br0 -o tun0 -j ACCEPT
iptables -I FORWARD -i tun0 -o br0 -j ACCEPT
iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE

После сохранения делаем файл запускаемым и тут же выполняем его:

Chmod +x /media/DISK_A1/system/etc/firewall.d/fw.sh
/media/DISK_A1/system/etc/firewall.d/fw.sh

Естественно, нам нужно прописать DDNS-имя на нашем роутере. Подробнее о регистрации на примере DynDNS написано в разделе «Настройка DDNS ». Через веб-интерфейс роутера переходим в раздел «Интернет» → «Доменное имя», включаем галочку «Использовать динамическую DNS», заполняем соответствующие поля и жмём «Применить». Кстати, после включения DDNS вам будет доступен также веб-интерфейс Transmission (http://ddns_имя_роутера:rpc-port), а если поставите галочку «Разрешить удаленный доступ» и укажете «TCP-порт веб-конфигуратора», то и веб-интерфейс роутера. Аналогичным образом можно открыть доступ к файлам на накопителе по FTP — ставим галочку «Разрешить доступ из Интернета» в разделе «USB-приложения» → «Сервер FTP».

На клиенте (например, на офисном компьютере или на ноутбуке) также надо установить OpenVPN, а заодно скопировать наш ключ static.key, который мы сгенерировали ранее, в папку C:\Program Files\OpenVPN\easy-rsa\keys\ (ну, или куда вам удобно, только в клиентских настройках надо будет поменять путь до него). Теперь в папке C:\Program Files\OpenVPN\config\ нужно создать новый текстовый файл, вставить в него нижеследующие строки и переименовать его, например, в router.ovpn. Обратите внимание, что в пути до файла secret.key нужно использовать именно двойные слеши (\\), а не одинарные (\).

Remote ddns_имя_роутера
dev tun
ifconfig 10.8.0.2 10.8.0.1
secret "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\static.key"
comp-lzo
keepalive 10120
ping-timer-rem
persist-tun
persist-key
route 192.168.1.0 255.255.255.0

При двойном клике по файлу ovpn будет подниматься туннель до роутера. Можно запустить OpenVPN GUI и из главного меню — в области уведомлений появится иконка, двойной клик по которой также поднимет туннель. При этом цвет иконки сменится с красного на зелёный. Ещё один двойной клик по иконке покажет окно с логом. Для отключения от VPN нажмите кнопку Disconnect. После подключения вам будет доступна ваша домашняя сеть и можно, к примеру, настроить удалённый рабочий стол (см. раздел «Настройка TightVNC» ). Также необходимо проследить, чтобы адресация на удалённой машине, в домашней сети и внутри VPN-туннеля была разной. В нашем примере мы использовали подсеть 10.8.0.0 для туннеля, а в домашней сети — 192.168.1.0. При необходимости подкорректируйте адреса во всех скриптах и файлах конфигурации в этом разделе.

Заключение

На данный момент это, пожалуй, все приложения, о которых есть смысл рассказывать. Конечно, в репозитории есть и другие пакеты, но вряд ли домашнему пользователю захочется поднимать свой веб-сервер на роутер, становить на него Drupal или, например, заморачиваться с другими DDNS-сервисами либо монтировать по сети ещё один накопитель. Впрочем, если и захочется, то настройка не так уж сложна. В конце концов, не забанили же вас в Google или «Яндексе». Для молодого проекта столь небольшое число пакетов — явление нормальное. К тому же их список постепенно пополняется, однако, по признанию самого автора zyxel-keenetic-packages, времени у него не так много. Так что энтузиасты, готовые собирать новые пакеты и развивать проект, явно не помешают. Напоследок ещё раз рекомендуем ознакомиться с вики и форумом, ссылки на которые были приведены в начале статьи. Засим позвольте откланяться и традиционно пожелать удачных экспериментов.

P.S.: ZyXel, между прочим, обещает в скором времени выпустить совершенно новую официальную прошивку, в которой, по слухам, будет много чего вкусного.

Второе поколение интернет-центров Zyxel Keenetic появилось на рынке два года назад и началось с трех моделей верхнего и среднего уровней. Позже к ним присоединились еще пять устройств, а сейчас в серии насчитывается более дюжины модификаций. Причем последние новички идут уже не в дополнение, а на замену ранее выпущенных устройств.

С точки зрения аппаратной платформы, Zyxel Keenetic Omni II и Keenetic Lite III не отличаются от своих предшественников. Они также основаны на SoC MediaTek MT7620N, оборудованы 8 МБ флэш-памяти и 64 МБ оперативной памяти, проводными портами на 100 Мбит/с и однодиапазонной точкой доступа 802.11b/g/n на 300 Мбит/с. В модели Omni II присутствует порт USB 2.0, которого лишен Lite III, но у последнего есть аппаратный переключатель режима работы. Из внешних отличий можно заметить измененный дизайн корпуса и упаковки, что, конечно же, не является поводом для обновления.

Данные устройства стоят на ступеньку выше самой простой версии Keenetic Start. Не отличается по «железу» от них и Keenetic 4G III, который позволяет использовать порт USB только для модемов. Так что информация в данном материале может быть смело отнесена и к нему. Суммируя характеристики, можно сказать, что Lite III является базовой моделью для тех, кому не нужен порт USB, а Omni II будет интересен тем, кто планирует использовать не только модемы, но и накопители. Заметим, что наличие порта USB все-таки достаточно существенно расширяет набор решаемых роутером задач.

С выпуском новинок совпало серьезное обновление встроенного программного обеспечения, операционная система которого получила новое ядро, что существенно повлияло на всю прошивку и потребовало значительных усилий для внедрения. В момент написания статьи, новое ядро также было использовано в бета-версиях для моделей Viva и Extra. Планируется, что все устройства текущего поколения получат аналогичные обновления.

Комплект поставки

В рассматриваемом поколении моделей производитель немного изменил дизайн внешних обложек картонных коробок и использовал яркий оранжевый цвет на торцах. Остальная часть изменилась мало - крупная фотография устройства на лицевой стороне, подробные технические характеристики, комплект поставки, а также описание возможностей и сценариев использования на обратной стороне. При этом все тексты полностью локализованы.

Привлекают внимание фотографии сматфонов и логотипы магазинов мобильных приложений. Видимо компания решила последовать примеру других производителей и выпустила специализированную утилиту для настройки роутеров. Сложно сказать, насколько эта функция действительно востребована на практике, многое будет зависеть от качества и возможностей программы. Но учитывая широкое распространение мобильных устройств, она вполне может оказаться полезной. Обязательно познакомимся с ней в соответствующем разделе.

Комплект поставки роутеров данного сегмента давно не меняется, не стали исключением и эти модели - роутер, внешний компактный импульсный блок питания (9 В 0,6 А для Lite III и 12 В 1 А для Omni II), сетевой патч-корд, достаточно объемное руководство пользователя, гарантийный талон и небольшая рекламная листовка с описанием некоторых продуктов компании.

Внешний вид

Устройства получили одинаковые корпуса, которые, однако, отличаются от прошлых поколений. В частности несъемные антенны теперь находятся на боковых торцах, так что на бок теперь роутер не поставить.

Размеры корпусов немного уменьшились и составляют 140×103×30 мм без учета кабелей и антенн. Снова используется черный пластик. При этом дно оставили глянцевым, боковые стороны сделали матовыми, а на верхней крышке мы видим знакомый рисунок с волнами и преобладанием глянца.

На дне устройств предусмотрены две резиновые ножки и два отверстия для настенного крепления разъемами вниз. На боковых торцах есть решетки вентиляции. У модели Keenetic Lite III слева есть скрытая кнопка сброса. У Omni II к ней добавляется порт USB 2.0 и многофункциональная кнопка. На верхней панели роутеров находится крупная и удобная кнопка подключения клиентов по технологии WPS и отключения точки доступа. Напомним, что функции кнопок можно менять в настройках.

Сзади находятся пять сетевых портов и вход блока питания с кнопкой. У Keneetic Lite III дополнительно предусмотрен аппаратный переключатель режима работы - основной, адаптер, усилитель, точка доступа. Антенн здесь теперь нет, так что никаких сложностей с подключением кабелей и доступу к выключателю быть не может.

Несъемные антенны установлены на боковых торцах. Их поворотный механизм производит впечатление более надежного, по сравнению с прошлыми реализациями. Длинна антенн составляет более пятнадцати сантиметров, а форма и дизайн внешнего корпуса также немного изменились и стали более интересными. На скорость, это, конечно не влияет, но все равно приятно.

Индикаторы работы роутеров расположены на переднем торце. Они имеют зеленый цвет свечения, достаточно информативны и не раздражают частым миганием. А вот при креплении на стену их может быть и не видно.

За исключением продолжения использования глянца, к дизайну новинок нет никаких замечаний.

Аппаратная конфигурация

По аппаратной конфигурации модели не отличаются от предшественников. Они основаны на популярной платформе MediaTek MT7620N, оборудованы 8 МБ флэшпамяти, 64 МБ оперативной памяти, имеют встроенный в процессор радиоблок с поддержкой сетей 802.11b/n/g в диапазоне 2,4 ГГц с максимальной скоростью соединения 300 Мбит/с и сетевой коммутатор на пять проводных портов Fast Ethernet 100 Мбит/с. Стоит заметить, что здесь используется ревизия 0206 процессора.

На модели Omni II присутствует порт USB 2.0 и дополнительная кнопка, а Lite III отличается использованием аппаратного переключателя режима работы. Заметим, что через веб-интерфейс режим работы этого устройства изменить нельзя. При этом модель сохраняет четыре независимых комплекта настроек (по одному для каждого режима) и может оперативно переключаться между ними.

Особенности и возможности прошивки

Продукты текущей серии Keenetic имеют унифицированное встроенное программное обеспечение NDMS2, которое мы уже неоднократно описывали в наших публикациях. Отличия могут касаться разной аппаратной конфигурации, например, наличия портов USB или двухдиапазонного радиоблока, а также доступности определенных пакетов. Так что большинство дальнейшей информации можно отнести и к другим решениям серии.

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

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

По сравнению со многими другими представленными на рынке роутерами, рассматриваемые продукты имеют несколько характерных отличий в программном обеспечении. В частности, кроме поддержки соединений IPoE, PPPoE, PPTP и L2TP, для подключения к интернету можно использовать режим клиента Wi-Fi, USB-модемы (в роутерах с портом USB), 802.1x и авторизатор КАБiNET.

Поддерживается одновременная настройка различных вариантов подключения, в том числе и с использованием нескольких проводных портов, для реализации функции резервирования. Ее эффективному использованию помогает модуль Ping Check, позволяющий контролировать работоспособность каналов связи. Отметим также возможность принудительного отключения питания порта USB в ручном или автоматическом режиме, что позволяет повысить надежность работы с USB-модемами. В списке совместимости присутствуют многие современные модели, в том числе и рассчитанные на сети четвертого поколения.

При выдаваемом провайдером непостоянном адресе, можно воспользоваться клиентами динамического DNS, включая отечественный DNS master. Доступ к сервисам локальной сети обеспечивается настройкой правил трансляции адресов и поддержкой UPnP. Дополнительный уровень защиты пользователей, особенно их мобильных устройств, можно реализовать благодаря поддержке сервисов SkyDNS и Яндекс.DNS. Заметим, что теперь в них можно использовать назначение индивидуальных профилей клиентам для использования серверов DNS от провайдера.

В группе «Домашняя сеть» можно изменить локальный адрес роутера, а также настроить сервер DHCP. При этом можно создать несколько сегментов сети, разделив их по диапазонам IP-адресов. Эта возможность используется, в частности, для обслуживания гостевой беспроводной сети. Здесь же можно настроить ретранслятор DHCP и отключить NAT.

Для работы с IPTV поддерживается протокол IGMP, выделение порта приставкам, технология VLAN, а также есть встроенный сервер udpxy.

Настройки беспроводной точки доступа стандартны. Есть выбор имени сети, режима защиты, номера и ширины канала, страны, стандарта и мощности сигнала. Заметим, что заводские настройки устройства включают индивидуальные имя и пароль сети, указанные на наклейке. Не забыли и про фильтр MAC-адресов, WPS и реализацию гостевой беспроводной сети. Отметим отсутствие расписания работы и поддержки аутентификации через сервер RADIUS.

Кроме упомянутых выше сервисов для фильтрации DNS-запросов, в роутерах присутствует программируемый фильтр входящих пакетов, таблицы которого программируются для каждого интерфейса (включая локальные) индивидуально.

Из дополнительных пакетов интерес представляют сервер VPN (PPTP), ALG для некоторых популярных протоколов, IPv6, модуль захвата пакетов, поддержка файловых систем NTFS и HFS+, идентификация пользователей для сетевого доступа к файлам, система загрузки файлов transmission, сервер DLNA, поддержка определенных моделей USB-модемов. Многие из них актуальны только для имеющих порт USB моделей, но, в частности, сервер VPN есть и у Lite III. Заметим, что присутствующие в прошивке клиенты VPN можно использовать и для подключения к удаленным сетям, а не только к интернету.

Устройства имеют развитые средства мониторинга и диагностики, что позволяет технической поддержке более эффективно решать возможные проблемы. Кроме расширенной страницы статуса, где можно найти информацию о подключениях, текущем трафике, а также загрузке процессора и оперативной памяти, можно посмотреть таблицу маршрутизации, список клиентов локальной сети, их активные соединения, данные о беспроводных устройствах (включая скорости подключения), USB-накопителях и VPN-клиентах.

Журнал системных событий хранится в устройстве или может быть отправлен на внешний сервер syslog. Никаких специальных функций для поиска в нем или установки фильтров не предусмотрено. Нет и отправки информации по электронной почте. В плюсы можно записать высокую детализацию событий.

В системных параметрах есть настройка времени, сброс конфигурации, перезагрузка, обновление прошивки и установка компонент. Здесь же предусмотрен выбор режима работы устройства (кроме Lite III), настойка действия кнопок на корпусе, работа с системными файлами (конфигурацией, журналом и прошивкой), программирование пользователей и указание им прав на сервисы.

Заметим, что теперь режимы работы используют отдельные индивидуальные наборы настроек, а на Lite III их можно менять аппаратным переключателем.

В некоторых случаях при обращении в техподдержку могут оказаться полезными возможность создания расширенного отчета о работе устройства и модуль захвата сетевых пакетов.

Порт USB в линейке Keenetic используется для подключения накопителей, модемов и принтеров. В первом случае можно использовать устройства с несколькими разделами, а в список совместимых файловых систем входят все популярные сегодня варианты, включая FAT32, NTFS, EXT2, EXT3 и HFS+. Кроме доступа по протоколам SMB и FTP (в том числе и через интернет), накопители могут использоваться для автономной загрузки файлов и трансляции мультимедийного контента на приемники DLNA.

На момент написания статьи, официальный список совместимости с принтерами насчитывал почти пять сотен моделей. В зависимости от модели, может поддерживаться печать через сеть Windows или использование сетевого порта. За исключением печати, возможности МФУ не поддерживаются.

Производитель уделяет большое внимание и работе с модемами для сотовых сетей - в списке совместимости указаны около сорока моделей 4G и более восьмидесяти 2G GSM/3G UMTS, не считая вариантов для сетей 3G CDMA. Причем работа с современными устройствами ведется в наиболее производительных режимах, что позволяет достичь высоких скоростей.

Как было упомянуто выше, производитель представил специальную утилиту Keenetic NetFriend для мобильных устройств на базе Android и iOS для первоначальной настройки роутеров.

В нее встроена интерактивная инструкция, используется QR-код на корпусе для подключения к беспроводной сети роутера, есть функция определения местоположения для фильтрации встроенного списка провайдеров по населенным пунктам и возможность ручной настройки параметров. Жаль, что в текущей версии не реализована настройка IPTV, изменение параметров Wi-Fi и нет функций мониторинга и диагностики. С другой стороны, IPTV во многих случаях будет работать «из коробки», а беспроводная сеть уже настроена на защищенный режим. Так что и в текущем виде программа может быть полезна начинающим пользователям.

Производительность

Рассматриваемые роутеры отличаются только связанными с наличием порта USB возможностями. Так что формально можно было бы и не тестировать производительность в задачах маршрутизации и беспроводного доступа у обеих моделей, но мы все-таки сделали это, хотя и не ждали больших отличий. Тестирование проводилось на нашем стандартном стенде в синтетических бенчмарках.

Если вы следите за нашими публикациями, то возможно помните, что при тестировании предшественника у нас не было замечаний с точки зрения скорости маршрутизации. Новинки, несмотря на упомянутые выше причины обновления прошивки и всех модулей, выступили даже немного лучше в полнодуплексных тестах. Так что рассматриваемые модели можно смело рекомендовать для работы на скоростях до 100 Мбит/с включительно с любыми типами подключения к интернету.

Сохранилась и эффективность работы с локальной сетью провайдера, что видно по следующей паре графиков.

Как мы писали ранее, эти модели среднего уровня получили в текущей прошивке реализацию сервера VPN, работающего по протоколу PPTP. Это позволяет организовать безопасное удаленное подключение к своей домашней сети и некоторые другие полезные сценарии. Для проверки производительности в этом режиме использовалось подключение к роутеру со стороны расположенного во внешнем сегменте сети компьютера со штатным клиентом Windows. На графиках приводятся усредненные по трем сценариям (прием, передача и одновременные прием и передача, все в восемь потоков) показатели.

При работе без шифрования можно получить в данной задаче от 75 до 100 Мбит/с. Использование MPPE128 снижает скорость работы до 30-40 Мбит/с. Как мы видим, реализация этого сервиса в устройствах рассматриваемого уровня вполне имеет смысл.

Встроенная в роутеры беспроводная точка доступа работает с максимальной скоростью соединения 300 Мбит/с. Однако производительность данного сценария вероятно будет ограничиваться проводными портами, имеющими скорость только 100 Мбит/с. Роутеры настраивались на максимальную производительность с каналом 40 МГц и шифрованием WPA2-PSK. В тестировании использовался адаптер TP-Link TL-WDN4800 (802.11n, 2,4 и 5 ГГц, до 450 Мбит/с) и два варианта размещения компьютера с ним - четыре метра прямой видимости и четыре метра через одну некапитальную стену. Ранее использованная точка на восьми метрах через две некапитальные стены выбыла из списка из-за наличия сильных помех от большого числа соседских устройств в диапазоне 2,4 ГГц.

И в этой группе тестов мы видим ожидаемые результаты - около 90 Мбит/с для максимальной скорости приема или передачи, а также примерно в полтора раза больше для полнодуплексных режимов. Заметим, что второй вариант размещения может показывать более высокие результаты из-за большей удаленности клиента от центра дома и соседских сетей.

Последний тест касается только модели Omni II, поскольку в ней есть поддерживающий работу с накопителями порт USB 2.0. Проверялась скорость чтения и записи на подключенный диск с файловыми системами NTFS, FAT32, EXT3 и HFS+ файла большого объема по протоколам SMB и FTP.

В этом тесте, как и предыдущем, ограничителем выступает проводной порт устройства на 100 Мбит/с. Так что максимальные показатели составляют около 10 МБ/с. Полноценным сетевым накопителем этот вариант назвать сложно, но для резервного копирования небольших объемом данных, просмотра HD-видео на телевизоре и создания сервера FTP он, конечно, подойдет. Отметим также, что в этом тесте новинка выступила быстрее своего предшественника.

Выводы

Обновленные модели интернет-центров Zyxel Keenetic Omni II и Keenetic Lite III, как и предшественники, оставили очень приятное впечатление. Устройства основаны на хорошо подходящей для массового сегмента платформе MediaTek и имеют оптимальные технические характеристики - проводные сетевые порты на 100 Мбит/с и беспроводную точку доступа на 300 Мбит/с. Модель Omni II отличается присутствием порта USB, что позволяет реализовать множество дополнительных сценариев, а Lite III интересна аппаратным переключателем режимов работы. Напомним и про наличие в линейке решения Keenetic 4G III, близкого по характеристикам к данным устройствам.

Что касается встроенного программного обеспечения, то можно заметить, что производитель уделяет ему даже больше внимания, чем аппаратной платформе. Регулярные обновления, выходящие для всей линейки, позволяют не только улучшить совместимость с сервисами отечественных провайдеров и расширить набор функций и возможностей, но и увеличить производительность. Для некоторых категорий пользователей минусом здесь может быть закрытость прошивки и невозможность добавления собственных программных модулей. При этом на рассмотренные в этой статье устройства нельзя поставить программу прошлого поколения, в которой сохранена данная возможность.

К скорости работы рассмотренных моделей нет никаких замечаний. Их можно без каких-либо компромиссов использовать со всеми тарифными планами и вариантами подключений на каналах до 100 Мбит/с включительно. Тестирование показало, что именно проводные порты часто являются в данном случае ограничением. Однако не стоит забывать, что гигабитные устройства обычно заметно дороже.

Перенос антенн на боковые торцы позволил разгрузить заднюю панель. В плюсы также запишем перепрограммируемые кнопки на корпусе и возможность крепления роутеров на стену. Традиционным минусом является использование глянца.