У меня есть большие файлы трафика, которые я пытаюсь статистически проанализировать, чтобы проверить, нажимает ли пользователь ссылки на определенных сайтах.
Важно сказать, что мои пакеты отсортированы по потокам (IP1 <=> IP2).
Моей первой идеей было просмотреть содержимое пакетов и найти ссылки и ссылки, сохранить их все в какой-то структуре данных со своими отметками времени, а затем снова выполнить итерацию по пакетам для поиска запросов в момент, близкий к моменту появления ссылок. ,
Что-то вроде следующего псевдокода:
for each packet in each flow:
search for "href" or "http://" or "https://"
save the links with their timestamp
for each packet in each flow:
if it's an http request and its url matches some url in the list and the
time is close enough, record it
Проблема этого кода в том, что некоторые (важные) ссылки генерируются динамически во время загрузки страницы, и их невозможно найти с помощью вышеуказанного метода.
Другая идея заключалась в проверке поля реферера в заголовке http и поиске пакетов, на которые ссылались соответствующие сайты. Этот метод генерирует много ложных срабатываний из-за фреймов и встроенных объектов.
Важно отметить, что это не мой сервер, и я намерен создать инструмент для статистического анализа поведения пользователей (таким образом, я не могу добавить какой-либо трекер кликов на свой сайт).
У кого-нибудь есть идея, что я могу сделать, чтобы проверить, нажимали ли пользователи ссылки в соответствии с их сетевым трафиком?
Любая помощь будет оценена!
Спасибо