Тестирование счетчиков трафика

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

DU METER 3.0.7.
www.dumeter.com
Очень простой и маленький счетчик, дистрибутив занимает около мегабайта. Русскоязычного интерфейса нет, да он и не нужен – разобраться в немногочисленных опциях счетчика можно, владея английским языком на уровне младших классов общеобразовательной школы. Если запуск программы прошел успешно, в трее появится значок, а на десктопе – маленькое окошко с гистограммой входящего и исходящего трафика и сведениями о скорости потоков. Из контекстного меню, доступного, как обычно, по щелчку правой кнопкой мыши, можно попасть в окно настроек счетчика.

На вкладке General доступны основные свойства программы. Прежде всего, нужно выбрать, с какого сетевого интерфейса DU Meter будет собирать статистику (лирикой вроде настройки поведения плавающего окошка и режима отображения информации, можно заняться и позже). Как уже было отмечено выше, DU Meter – очень простой счетчик. Все, что он умеет – это считать, сколько всего было принято и отправлено информации с компьютера, на котором он установлен. Разделять трафик по протоколам и вести статистику для других машин в сети ему не дано.

Следующая по важности вкладка – это Alert and Reports. Здесь можно поручить счетчику уведомлять пользователя о том, что объем входящего и/или исходящего трафика превысил заданную величину за определенный период – день, неделю или месяц. Не обделены вниманием и пользователи, подключающиеся к интернету по старинке через модем – DU Meter следит за суммарным временем подключения за заданный период времени и предупредит, если вы чересчур засиделись.

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

Здесь можно посмотреть, сколько трафика было передано за различные периоды времени. Отчеты можно экспортировать в формате Microsoft Excel. С помощью секундомера (Stopwatch) можно получить данные о максимальной и средней скоростях соединения. Вот, в принципе, и все, что умеет DU Meter. Суммируя все вышеизложенное, подводим итог: DU Meter подходит для домашнего применения начинающими пользователями. Более серьезные задачи ему не по силам.

TMETER 6
www.tmeter.ru
TMeter – гораздо более серьезный счетчик с богатейшим набором функций. Он больше подходит для учета трафика в больших сетях, нежели для домашнего использования. Но обо всем по порядку.
В дистрибутив программы (2,6 Мб) входят:

– Служба TMeter – ядро программы, собирает, обрабатывает и подсчитывает сетевые пакеты, формирует отчеты. Может работать как в режиме обычного Win-32-приложения, так и в режиме службы Windows NT/2000/XP/2003, что крайне полезно, потому что службы запускаются до момента входа пользователя в систему. В памяти служба занимает около 9 Мб.

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

– Монитор службы – висит в трее и демонстрирует состояние Службы TMeter. Ткнув в него, можно попасть в консоль управления. Съедает шесть мегов оперативки.

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

Однако есть и другой вариант. Если вы работаете в non-switched-сети, то TMeter может быть установлен на любом узле. В этом случае счетчик, используя режим Promiscuous mode сетевой карты, сможет считать трафик любого хоста в сети.

После установки и перезагрузки, которую потребует счетчик, можно приступать к настройке программы. Ключевым понятием счетчика TMeter является Набор Фильтров, который помимо собственно сведений о фильтрах для учета трафика содержит также все основные настройки программы и хранится в обычном XML-файле с расширением.tmf. Набор Фильтров не привязан к конкретному сетевому адаптеру и, следовательно, может быть легко и безболезненно перенесен на другую машину с установленным на ней счетчиком TMeter, тем более что тот умеет перечитывать конфигурационный файл на лету. Для настройки программы следует запустить Консоль Управления.

При запуске нужно будет ввести пароль (по умолчанию пустой) и выбрать узел, к которому будет подключаться Консоль. Дело в том, что TMeter поддерживает возможность удаленного управления. Для подключения используется порт TCP 7643. Кроме того, Консоль Управления допускает указание имени хоста и пароля в командной строке, то есть можно создать на Рабочем столе несколько ярлыков для быстрого подключения к Службам счетчика, работающим на разных машинах.

В левой части окна Консоли находится навигационная панель, организованная в виде дерева. В ветке «Конфигурация – Сет. карты» нужно пометить сетевые интерфейсы, с которых TMeter будет собирать информацию. Программа поддерживает до 32 сетевых адаптеров, в том числе и подключаемых по USB. В том же окне можно выбрать режим сбора пакетов – активный или пассивный. В активном режиме TMeter может при необходимости блокировать пакеты, что в сочетании с мощной системой фильтров позволяет использовать его в качестве неплохого файерволла. В активном режиме, однако, будет недоступен режим Promiscuous mode. Это вполне естественное ограничение – блокировать пакеты имеет смысл, только если TMeter установлен на шлюзе. Как говорится, чтобы перекрыть кран, нужно на нем «сидеть».

Далее нужно заполнить таблицу локальных IP-адресов (ветка «Конфигурация – Группы IP-адресов»). Локальные адреса задаются в виде набора неперекрывающихся диапазонов с указанием начального и конечного адресов каждого из них. Ограничение на количество таких пар отсутствует – их число не оказывает никакого влияния на производительность программы, так как данные внутри таблицы упорядочены, а для проверки принадлежности адреса таблице используется алгоритм бинарного поиска, что значительно сокращает время на обработку пакета. Адреса, не входящие ни в один диапазон, рассматриваются программой как внешние (глобальные).

Отчеты по трафику, генерируемые программой, могут храниться в XML-файлах и в базе данных. В последнем случае в ветке «Конфигурация – Соединение с БД» нужно вписать строку, содержащую параметры подключения. В ветке «Конфигурация – Отчеты по трафику» нужно указать таблицу для хранения отчетов в базе данных и папку для хранения XML-отчетов. XML-отчеты могут быть просмотрены как с помощью обычного браузера, так и с помощью специального просмотрщика отчетов, входящего в дистрибутив программы. Последний вариант предпочтительнее, поскольку открывает возможность дополнительной настройки массы параметров, вроде количества байт в килобайте и цены за единицу трафика.

После выполнения всех предварительных настроек можно приступать к построению системы фильтров. В бесплатной версии программы не получится создать больше трех фильтров. В коммерческой (стоимостью 998 руб.) никаких ограничений нет. Каждый фильтр имеет набор правил для учета трафика (количество которых не ограничено), 64-битный счетчик посланных байт и точно такой же – принятых, коллектор пакетов, необходимый для их протоколирования, шейпер трафика для ограничения скорости потока и кривую на графике, отображающую объем трафика, прошедший через фильтр в единицу времени. Добавление, редактирование и удаление фильтров осуществляется с помощью менеджера фильтров, который доступен в ветке «Конфигурация – Набор фильтров».

Логику обработки сетевого пакета программой TMeter можно разделить на три уровня: набора фильтров, фильтра и правила.

– Уровень правила. Для того чтобы сетевой пакет удовлетворял правилу, необходимо, чтобы выполнились все заданные в нем условия.

– Уровень фильтра. Для того чтобы сетевой пакет удовлетворял фильтру, необходимо, чтобы сработало, по крайней мере, одно правило из перечисленных в фильтре. Пакет обрабатывается в фильтре последовательно от первого правила до первого срабатывания. В случае если сработавшее правило имеет действие «Подсчитать» или «Подсчитать и пропустить», то счетчик переданных байт или счетчик посланных байт данного фильтра будет увеличен на размер сетевого пакета.

– Уровень набора фильтров. Пакет поступает на обработку в набор фильтров последовательно – от первого до последнего фильтра. Пакет передается на обработку в следующий фильтр, если он не соответствует ни одному правилу из данного фильтра или если в фильтре сработало правило с действием «Подсчитать». Если же в фильтре сработало правило с действием «Не обрабатывать вообще» или «Подсчитать и не обрабатывать далее» обработка пакета всеми последующими фильтрами производиться не будет. При срабатывании правила с действием «Блокировать» пакет будет блокирован (для этого необходимо включить активный режим сбора пакетов).

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

Окно редактора содержит следующие поля:

– IP-протокол. Здесь можно задать имя или номер IP-протокола, подлежащего учету. Пункт выпадающего списка «Любой IP-протокол» позволяет вести учет сразу по всем протоколам.

– Источник и Назначение. Группа полей для указания источника и пункта назначения трафика. В качестве таковых можно указать определенный IP-адрес или имя хоста, диапазон IP-адресов или целую сеть, MAC-адрес сетевого интерфейса, совокупность адресов локальной или глобальной сети (для этого и нужно было заполнить таблицу локальных адресов). В случае создания правила для протоколов TCP или UDP можно указать номера портов, которые также будут приниматься во внимание при проверке пакета правилом.

– Группа свойств «Направление». Свойство, имеющее длинное название на русском («Это также распространяется на пакеты с полностью противоположными адресами источника и назначения») и короткое на английском («Mirrored») определяет условие направления попадания. Если оно включено, правилу будут соответствовать и пакеты с полностью противоположными свойствами «источник» и «назначение» («обратное попадание»), что позволит не создавать два отдельных правила для учета исходящего и входящего трафика.

– Свойство «Контроль состояния пакета» включает динамический режим для свойства «Mirrored». Теперь обратные пакеты будут попадать в правило только при наличии предварительного «прямого» попадания. Данная возможность чрезвычайно полезна для построения правил файерволла, так как позволяет отсекать входящие соединения.

– Свойство «TCP-опции» (только для протокола TCP). Определяет реакцию данного правила на первый пакет TCP-соединения (то есть пакет с флагом SYN и без флага ACK). Эта опция также крайне полезна при построении правил файерволла, запрещающих, например, входящие TCP-соединения. Данная опция доступна только в одном направлении, то есть проверка срабатывания на «отраженных» пакетах производиться не будет.

– Свойство «ICMP-опции» (только для протокола ICMP). Включает проверку типа каждого ICMP-пакета. Если тип ICMP-пакета – echo request, происходит срабатывание правила (при выполнении прочих условий). Опять же пригодится в случае использования счетчика в качестве файерволла.

– Свойство «Действие» определяет, что делать с пакетом, если выполнились все условия правила:

– Подсчитать – счетчики данного фильтра будут изменены, пакет будет передан на обработку в следующий фильтр.

– Не обрабатывать вообще – счетчики данного фильтра не будут изменены, пакет не будет передан на обработку в следующий фильтр(ы).

– Подсчитать и не обрабатывать далее – счетчики данного фильтра будут изменены, пакет не будет передан на обработку в следующий фильтр.

– Блокировать – счетчики данного фильтра не будут изменены, пакет будет заблокирован файерволлом (правило действительно только в Активном Режиме Сбора Пакетов).

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

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

– Поле TOS (Type of Service) задает условие для проверки поля TOS (см. врезку про TOS).

– Условие на значение счетчиков фильтров. Позволяет задать лимиты на трафик. Например, можно создать правило, которое будет блокировать трафик, когда счетчик фильтра достигнет определенного значения. Для задания дневных или месячных лимитов пригодится возможность автоматического обнуления счетчиков фильтра в нужный момент. Обнуляются только мгновенные значения счетчиков; на данные в отчетах, генерируемых программой, это действие, естественно, никак не влияет.

– Расписание. Позволяет задать время в течение дня и дни недели, в которые будет действовать данное правило.

Добавьте к этому еще возможность протоколирования пакетов и хостов HTTP и вы поймете, за что сетевые администраторы так любят TMeter. Кроме того, на официальном сайте программы можно скачать дополнительные компоненты, еще больше расширяющие функциональность счетчика. Например, TMeter DbTraffic Reporter, который предоставляет пользователям возможность самостоятельного просмотра (по логину и паролю) своей статистики по трафику за заданный интервал времени, или tmtAnalyzer, предназначенный для обработки и анализа текстовых Log-файлов трафика, сгенерированных программой TMeter.

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

BWMETER 2.3.4
www.desksoft.com
BWMeter во многом схож по возможностям со счетчиком TMeter, однако имеет некоторые отличия как в структуре самой программы, так и в идеологии учета трафика. Дистрибутив занимает чуть более мегабайта. В отличие от компонентной архитектуры TMeter, BWMeter представляет собой этакий моноблок – ядро подсчета трафика, элементы управления и монитор работы счетчика, висящий в трее, объединены. В памяти все это занимает всего 5 Мб. Русскоязычный интерфейс, к сожалению, не предусмотрен.

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

На вкладке Options наибольший интерес для нас представляет список сетевых интерфейсов, с которых собираются данные, и окно, позволяющее обозначить локальные адреса. Локальные адреса можно задать только в виде указания определенной сети (или подсети) целиком, что, конечно, не так удобно, как набор диапазонов в счетчике TMeter. Зато присутствует возможность периодического автоматического обновления этих адресов, если они раздаются методом DHCP. После нажатия кнопки Apply BWMeter требует перезагрузки, что несколько странно. После удовлетворения этого его желания счетчик ведет себя прилично и о перезагрузке больше не заикается. На вкладке Filters можно создать набор фильтров для учета трафика.

В отличие от счетчика TMeter в BWMeter каждый фильтр может содержать только одно правило, то есть фактически тут понятия «фильтр» и «правило» эквивалентны. Не слишком удобно, если есть необходимость построения сложных логических конструкций обработки пакетов. Список фильтров грозит стать просто необозримым. Кроме того, все правила являются двунаправленными, как при включенной опции «Mirrored» у TMeter, и изменить это никак нельзя. Набор условий правила, таких как Источник (Source), Назначение (Destination), Протокол (Protocol) и т. д., аналогичен таковому в счетчике TMeter, за исключением возможности контролировать флаг SYN и поле TOS пакетов.

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

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

BWMeter может проиграть звуковой файл, запустить внешнюю программу, отобразить сообщение, послать e-mail по указанному адресу, блокировать трафик, ограничить скорость подключения или вообще выключить компьютер. Как и в случае с фильтрами, Оповещения можно сохранять в файл. И тоже только по отдельности.

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

На вкладке Statistics, как ясно из названия, собрана статистика работы счетчика за различные периоды времени. Данные могут быть экспортированы в формате CSV для последующего просмотра в Microsoft Excel. На вкладке Details ведется протоколирование собранных пакетов, Stopwatch отображает данные о максимальной, средней и минимальной скорости подключения по выбранным фильтрам, а Remote служит для автоматического сбора информации с других счетчиков BWMeter, установленных в сети. По умолчанию для подключения используется порт 24810. Удобно, ничего не скажешь.

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

Пользователям «СТРИМ» будет интересна бесплатная программа STREAM Checker (a-i-studio.com/stream-checker). Она не является полноценным счетчиком трафика, а просто загружает из Личного Кабинета пользователя данные о трафике и состоянии счета и отображает их в удобной форме, позволяя контролировать расход трафика и средств на личном счету. В нужный момент STREAM Checker напомнит о необходимости своевременного пополнения баланса.

Также на эту тему:

Ускорение работы с интернетом
Интернет в числах



Метки:

Об авторе