Часто задаваемые вопросы и ответы по учету трафика
программой TMeter (FAQ)
В небольшой офисной сети имеется компьютер, выполняющий роль шлюза в Интернет (NAT-маршрутизатора). На этом компьютере запущен TMeter, который считает Интернет-трафик для каждого компьютера из офисной сети. Также, за этим компьютером работает пользователь, Интернет-трафик которого необходимо считать наряду с другими пользователями офисной сети. Как это сделать?
См. Q2004
Я установил TMeter на компьютер, выполняющий роль NAT-маршрутизатора чтобы учитывать трафик клиентов моей локальной сети. Я создал фильтр с правилом "Определенный IP адрес - Адреса глобальной сети" в котором включен флаг "Оба направления". Я заполнил таблицу локальных адресов, выбрал для сбора пакетов сетевую карту, которая подключена к локальной сети. Запустив сбор пакетов, я обнаружил, что счетчик переданных байт "не считает", хотя счетчик принятых байт обновляется как надо. В чем проблема?
Скорее всего, вы установили Пассивный режим сбор пакетов. Для компьютера, выполняющего роль NAT-маршрутизатора (или просто IP-маршрутизатора) рекомендуется использовать Активный режим сбора пакетов.
Я создал фильтр с единственным правилом "Любой IP адрес" в качестве источника и "Любой IP адрес" в качестве назначения. Ячейка "Передано" созданного фильтра показывает число, очень близкое к собранному трафику, а вот счетчик принятых байт нулевой. В чем проблема?
Вы не можете разделить сетевой трафик (переданный и принятый) в правиле от "Любого IP адреса" до "Любого IP адреса" поскольку любой пакет удовлетворяет этому условию. Представьте себе, что вы стоите на обочине дороги с двусторонним движением. Какой трафик является входящим, а какой исходящим? Ответить на этот вопрос возможно лишь в том, случае, когда вы определитесь, что, например, машины следующие из города А в город В будут создавать исходящий трафик, а машины, едующие из города В в город А будут создавать входящий трафик.
Я создал фильтр с правилом "Мой компьютер" - "Любой IP адрес", которое учитывает только ICMP-пакеты. Когда я выполняю команду ping с моего компьютера для действующего хоста в локальной сети, счетчики увеличиваются как надо. Однако при попытке "запинговать" несуществующий хост в локальной сети счетчики фильтра "стоят". Я ведь посылаю icmp-пакеты, просто на них не приходит подтверждения. Это глюк?
Когда вы пытаетесь выполнить команду ping для несуществующего хоста в локальной сети, первым делом посылается ARP-запрос на поиск MAC-адреса того хоста, которому вы хотите послать ICMP-пакет. Если такого хоста нет в сети, то ARP-ответ не приходит, поэтому никакие ICMP-пакеты на самом не деле не отсылаются и счетчики фильтра не увеличиваются.
Я имею соединение с Интернет через DSL модем, который включен в Ethernet-хаб моей локальной сети. Мой компьютер имеет адрес 192.168.1.2, а DSL модем имеет адрес 192.168.1.1. Я хочу наблюдать за трафиком между моим компьютером и Интернет. Я создал фильтр в TMeter'e с единственным правилом, где указал адрес "192.168.1.2" в качестве источника и адрес "192.168.1.1" в качестве назначения. Я начал сбор трафика, однако все счетчики остались в нулях. В чем проблема?
Проблема в том, что вы считаете трафик между вашим компьютером и DSL-модемом, а надо считать трафик между вашим компьютером и Интернетом. Заполните таблицу локальных адресов включив в нее все адреса вашей локальной сети (например, 192.168.1.1-192.168.1.255) и создайте фильтр с правилом "192.168.1.2" в качестве источника и "Адреса Глобальной сети" в качестве назначения.
Я использую TMeter на компьютере, выполняющем роль шлюза моей офисной сети. На этом компьютере работает также кэширующий прокси-сервер SquidNT. Все браузеры клиентов моей офисной сети используют прокси. TMeter успешно считает трафик между клиентами и прокси-сервером. Однако я знаю, что часть web-запросов клиентов обслуживается из кэша прокси-сервера и я не хочу считать такой трафик. Возможно ли это?
К сожалению, нет. TMeter собирает "чистые" IP-пакеты. Эти пакеты не несут в себе информацию о том, был ли web-запрос обслужен напрямую или из кэша прокси-сервера.
Я создал фильтр с правилом, где в качестве назначения указал имя NetBIOS соседнего компьютера. Провел испытания - все ок, трафик считается как надо. Далее я поменял IP адрес на соседнем компьютере, однако созданный фильтр с правилом по имени NetBIOS перестал работать. В чем проблема?
Скорее всего, проблема в кэше имен NetBIOS вашего компьютера (можно посмотреть командой nbtstat -c). Кэш имен NetBIOS обновляется каждые 10 минут и вам следует просто немного подождать. Через некоторое время TMeter будет правильно находить новый IP адрес.
Как учитывать FTP-трафик?
FTP аббревиатура обозначает "File Transfer Protocol"
или "Протокол передачи файлов". Существует два режима
FTP-соединений: Активный FTP и Пассивный FTP. Правила, которые вам
потребуются для учета FTP-трафика зависят от используемого режима.
По умолчанию, большинство браузеров используют Пассивный FTP, в то
время как большинство FTP клиентских программ (например, CuteFTP,
Internet Neighborhood, WS-FTP) используют Активный FTP.
FTP-протокол подразумевает два различных соединения между клиентом
и FTP-сервером. Первое соединение называется "управляющим" (control
connection). Оно предназначено для "входа" клиента в FTP-сервера,
перехода между каталогами в FTP-сервере и т.п. Для того, чтобы
получить список файлов с сервера, скачать файл с сервера или
закачать файл на сервер, используется второе соединение, называемое
"соединение для передачи данных" (data connection).
Управляющее соединение одинаково для Активного и Пассивного режима.
Клиент инициирует TCP-соединение с динамического порта (1024-65535)
к порту номер 21 на FTP-сервере и говорит "Привет! Я хочу
подключится к тебе. Вот мое имя и мой пароль". Дальнейшие действия
зависят от того, какой режим FTP (Активный или Пассивный)
выбран.
В Активном режиме, когда клиент говорит "Привет!" он так же
сообщает серверу номер порта (из динамического диапазона
1024-65535) для того, чтобы сервер мог подключиться к клиенту для
установки соединения для передачи данных. FTP-сервер подключается к
заданному номеру порта клиента используя со своей стороны номер
TCP-порта 20 для передачи данных.
В Пассивном режиме, после того как клиент сказал "Привет!", сервер
сообщает клиенту номер TCP-порта (из динамического диапазона
1024-65535), к которому можно подключится для установки соединения
передачи данных.
Главное отличие между Активным режимом FTP и Пассивным режимом FTP
- это сторона, которая открывает соединение для передачи данных. В
Активном режиме, клиент должен принять соединение от FTP-сервера. В
Пассивном режиме, клиент всегда инициирует соединение.
Пример Активного соединения:
[1] Control Connection: Client port 1026 -> Server port 21
[2] Data Connection: Client port 1027 <- Server port 20
Пример Пассивного соединения:
[1] Control Connection: Client port 1026 -> Server port 21
[2] Data Connection: Client port 1027 -> Server port 2065
Эта информация будет вам достаточна, чтобы создать правила для
посчета трафика FTP. Обратите внимание на опцию "FTP data" в
редакторе правила. Если эта опция включена, то TMeter будет
корректно подсчитывать трафик соединения передачи данных (активное
или пассивное) путем динамического добавления дополнительных
правил.