Разрабатыываем сниффер сетевых пакетов. Может вытащить host из HTTP-заголовка и сохранить посещённый сайт. Но если пользователь заходит, например, на
habrahabr.ru, то помимо хоста habrahabr.ru запрашивается ещё habrastorage.org (и это логично, так как часть картинок из какого-нибудь поста там хранятся) и много-много других хостов, куда пользователь даже не хотел заходить.
Вот в этом и заключается весь вопрос: как отфильтровать тот хост, куда заходит пользователь, от того, что запрашивает браузер для загрузки дополнительного контента? Более того, есть необходимость вести статистику и если произойдёт 10 запросов к одному хосту (а пользователь только-только открыл страницу), то надо сделать лишь одну запись в лог (чтобы не сбивать статистику посещения сайтов).
Был вариант смотреть время последнего запроса и если оно меньше N секунд, то не добавлять новый хост в лог, так как скорее всего это автоматический запрос. Но это костыль, так как: (а) у пользователя может быть медленное соединение, (б) не спасает от ситуации: «Откроем интернет-магазин, быстренько откроем 25-100 вкладок а потом изучим товар».
Надеюсь на хабрасообщество, так как неделя поисков в гугле, stackoverflow и подобных сайтах ничего толком не дали.
PS: Сниффер корпоративный
PPS: Если помимо сниффера надо будет применить какие-либо ещё технологии — не проблема.