Несмотря на то, что уже есть более свежая (и более мощная) версия TMeter, использовалась версия 2.84, поскольку она настолько free, что позволяет создавать больше трех фильтров подсчета трафика, а это несомненный плюс. Итак, начнём.
1. Надо подобрать сетевой адаптер, который поддерживает режим promiscuous, позволяющий прослушивать все пакеты, приходящие на физический коннектор адаптера. У меня хорошо в этом режиме работали D-Link DFE-538TX 10/100 Adapter и Realtek RTL8139(A) PCI Fast Ethernet. Кроме того, если нужно считать трафик всех компьютеров в сети, а не только тот, который проходит через выбранный адаптер, нужно позаботиться о том, чтобы все подсчитываемые интерфейсы были присоединены именно в ХАБ, а не КОММУТАТОР. Об этом можно прочитать в help TMeter, раздел "Планирование установки TMeter". Можно использовать даже 10-мегабитный коммутатор (если, например, считаем трафик ADSL). На моём примере считался трафик пула выделенного нам ADSL-провайдером МТУ адресов xx.yy.qq.zz с маской 255.255.255.248. В хаб были воткнуты сетевые адаптеры, на которых были назначены адреса из этого пула (один из адресов принадлежал компьютеру с TMeter). Трафик всех этих адаптеров считался.
2. ОС, на которой всё будет работать, не критична. У меня работала W2k Pro Rus SP4 со всеми хотфиксами. Устанавливаем TMeter 2.84. В процессе установки все послушно подтверждаем (в том числе установку драйвера WinPcap). Перегружаемся.
3. Запускаем TMeter. Из выпадающего списка выбираем сетевой адаптер, воткнутый в сеть xx.yy.qq.zz. Идём в меню Трафик\Редактирование фильтров..., жмем добавить фильтр. В поле "Название" вводим "Исходящий МТУ", выбираем цвет графика, нажимаем кнопку "Добавить правило". Адрес источника выбираем "Определённый диапазон адресов" (и заносим первый и последний из пула xx.yy.qq.zz) либо "Определённая IP подсеть" (в этом случае заносим туда любой IP из пула xx.yy.qq.zz и маску этого пула, в нашем случае 255.255.255.248). Адрес назначения указываем "Любой IP адрес". Галочку Mirrored снимаем (в этом случае наш трафик будет отображаться выше горизонтальной оси). Если галочку Mirrored оставить, то "обратный" трафик (у которого адреса источника и адреса назначения противоположны заданным) будет располагаться ниже горизонтальной оси. Тип протокола (эти типы, кстати, описаны и заданы в файле protocols.txt, который находится в папке TMeter) в выпадающем списке выбираем "Любой IP протокол" (соответствует первой строке "0 IP" файла protocols.txt). Ставим галочку "Включить протоколирование", указываем "Протоколировать в файл", указываем полный путь до файла лога, куда будут писаться счётчики (у меня путь был D:\Program Files\TMeter\Log\mtu_out001.txt, кавычки для путей с пробелами не нужны). Жмем ОК.
4. Добавляем ещё фильтр "Входящий МТУ". Там всё то же самое, только меняются местами адреса источника и назначения, и указывается путь к другому файлу лога (D:\Program Files\TMeter\Log\mtu_in001.txt). Этот второй фильтр можно было и не создавать, если бы стояла галочка Mirrored в первом фильтре.
5. Жмём ОК в окне "Редактирование набора фильтров", и снова попадаем в консоль TMeter. Жмём на кнопочку с дискеткой (Запись фильтров файл), указываем имя файла для нашего вновь созданного набора фильтров (у меня было d:\Program Files\TMeter\filters\mtu001.tmf).
6. Выбираем меню Разное\Опции... Если у вас трафик ADSL, есть смысл для визуализации на закладке "График" поставить максимальную скорость 64 КБайт/сек. Далее на закладке "При запуске программы" ставим галку "Прочитать фильтры из этого файла", указываем путь до нашего файла фильтров (C:\Program Files\TMeter\filters\mtu001.tmf). Ставим галку "Начать сбор пакетов автоматически". На закладке "Журнал приложения" на всякий случай ставим галку "Записывать журнал приложения в файл" и указываем путь до файла журнала (у меня C:\Program Files\TMeter\Log\tmeter_log.txt).
7. Жмём кнопку "Начать сбор сетевых пакетов". Всё, минимальная настройка завершена.
Кроме того, можно сделать ещё несколько замечаний. В нашем примере для начала сбора статистики хотя бы нужно залогиниться (и под админом, пожалуй, если логи пишутся на NTFS) и щёлкнуть по ярлычку TMeter. Если мы хотим, чтобы всё работало и без этого, то можно: а) прописать TMeter в автозагрузку под учётной записью, с которым устанавливали TMeter и настраивали набор фильтров. б) Попробовать настроить задание на время запуска "При старте компьютера". в) Запустить TMeter как службу.
Нас больше всего интересуют варианты а) и в), поскольку каждый из них имеет свои достоинства - вариант a) позволяет наблюдать через консоль за трафиком и в случае необходимости подстраивать правила фильтров, а вариант в) полностью автоматический, позволяет начать и продолжить сбор трафика даже при полном сбросе или пропадании/восстановлении питания, но зато не позволяет через консоль наблюдать за трафиком, а для изменения фильтров надо останавливать службу TMeter и запускать консоль. Если с вариантом а) всё и так понятно, то рассмотрим поподробнее, как использовать вариант в), т. е. как запустить TMeter как службу. В help по TMeter использовалась для этой цели утилита FireDaemon, но она стала платной. Наш способ запуска лучше и универсальнее.
Для запуска TMeter понадобятся утилиты instsrv.exe и srvany.exe из Microsoft Resource Kit. Подробно и качественно про использование этих утилит написано в самой справке по Resource Kit (c:\Program Files\Resource Kit\w2rktool.chm). Мы просто рассмотрим весь процесс по шагам. - запускаем в папке c:\Program Files\Resource Kit\ утилиту cmd - печатаем команду instsrv TMeter284 "c:\Program Files\Resource Kit\srvany.exe" и жмём Enter. - Через консоль управления службами меняем пустое описание вновь созданной (но пока не настроенной) службы TMeter284 на "Служба подсчета трафика", на закладке "Вход в систему" указываем учётную запись админа, под которым устанавливался TMeter и настраивался нужный набор фильтров (если это не сделать, то не запустится автоматически сбор трафика, поскольку не прочитаются нужные установки из реестра). Жмём ок и закрываем окно настройки службы. - запускаем regedit, в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TMeter284\ делаем папку Parameters. - добавляем в папку Parameters ключ Application, тип строка (REG_SZ), туда заносим полный путь до TMeter.exe (просто без кавычек c:\Program Files\TMeter\TMeter.exe). - добавляем в папку Parameters ключ AppParameters, тип строка (REG_SZ), в содержимое строки ничего не заносим. - добавляем в папку Parameters ключ AppDirectory, тип строка (REG_SZ), добавляем туда путь до папки, где находится TMeter.exe, без кавычек и слеша в конце (c:\Program Files\TMeter).
Для анализа логов (mtu_in001.txt и mtu_out001.txt) подойдёт tmtAnalyzer (http://www.tmeter.ru/tmanlog) или написанная собственноручно программа (содержимое логов понятно, просто неудобно для анализа текстовым редактором). |