Данный функционал доступен с версии ПО биллинга 4.0.1236 и позволяет протоколировать посещенные абонентами NETAMS 4.0 веб-сайты в базе данных.
Для работы протоколирования необходимо:
- настроить источник данных типа RemoteAgentDataSource
- запустить UNIX-агента сбора данных
- для требуемых учетных объектов (по которым производить протоколирование) указать профиль, содержащий параметр "мониторинг" , или включить "глобальный мониторинг" в конфигурации системы (применяется для всех учетных объектов)
Механизм протоколирования основан на анализе агентом проходящего через него (точнее, через наблюдаемый интерфейс по механизму PCAP) трафика. При этом, веб-трафик (TCP-пакеты с портами SRC или DST номер 80, 81, 8000, 8080, 3128) подвергается дополнительному анализу с целью определения запрошенного пользователем URL (адреса и ссылки веб-сайта).
Вопрос: Почему нельзя пользоваться обратным преобразованием IP-адреса в имя веб-сервера?
Ответ: Причин тому несколько. Во-первых таким образом невозможно определить URL (ссылку), запрошенную клиентом. Во-вторых, для многих IP-адресов обратное преобразование просто не работает (не настроено). В третьих, обратное преобразование вызывает дополнительную нагрузку на сервер биллинга. В четвертых, если даже обратное преобразование и настроено, то оно не обязательно выдает имя веб-сервера. Например, www.someserver.ru может соответствовать адрес 210.172.56.8, при этом обратное преобразование адреса в имя может дать что-то вроде ip8-pool56.clients.megahosting.com. Наконец, в силу реализации протокола HTTP/1.1 подавляющим большинством работающих вебсерверов, за одним IP-адресом могут скрываться несколько (тысячи) веб-серверов. При этом определение имени сервера производится не по IP-адресу, а по заголовку "Host:" в пакете запроса. Это сделано для целей "виртуального хостинга".
Таким образом, необходимо более детальное исследование проходящих пакетов веб-трафика, что с успехом делает UNIX-агент ПО NETAMS 4.0. В настройках источника данных агента необходимо явно включить определение URL:
В таком случае агент будет разбирать проходящий веб-трафик для поиска ссылок (URL) посещаемых сайтов. Для примера ниже приведен скриншот программы Wireshark с содаржимым TCP-пакета (HTTP-запроса) к веб-сайту www.lenta.ru (IP-адрес 81.19.85.116):
Видно, что запрашиваемый хост (www.lenta.ru) и URL (GET /) присутствуют в HTTP/1.1 заголовках. Более детально содержимое пакета запроса представлено ниже:
Информацию о ссылке и хосте агент передает в сторону ядра биллинга, где она может быть сохранена в базу данных (при включенном мониторинге). Возможно также включить мониторинг только для записей, содержащих параметр URL (все остальные записи о другом трафике в базу попадать не будут).
Данный подход не лишен некоторых недостатков, а именно:
- счетчики байт, переданные в биллинг, будут относиться к трафику от клиента до сервера (куда ведет HTTP-запрос), таким образом трафик от сервера к клиенту ("скаченное с сайта") хоть и будет учтен в биллинге, проассоциирован с ссылкой не будет
- обычно каждая открытая страница содержит в себе много внутренних ссылок (картинки, баннеры), ведущие на другие сайты. таким образом однозначно сопоставить "ссылку на сайт" с реально открытыми ссылками технически невозможно
- внутри открытой страницы сайта может присутствовать медиа-плеер, ведущий на другой сайт, или же работающий не по HTTP-протоколу. учесть такие ресурсы невозможно
Собранную информацию по посещенным сайтам можно просмотреть, используя стандартный отчет типа UrlsReport службы отчетов. Данный тип отчета позволяет сделать выборку по контракту, услуге, периоду времени, а также задать ряд специфичных параметров, таких как:
- группировка по пути
- группировка по домену
- исключение
- выборка по заданному URL
Например, вы можете посмотреть статистику с указанием отдельных сайтов, причем выбор (клик по ссылке) на выбранном сайте открывает детализацию по его посещенным URL:
В случае, если внутри вашей сети расположен публично доступный веб-сервер, вы можете выбрать параметр "внутренние сайты" и просмотреть статистику (URL, удаленные хосты-клиенты) по его посещению: