Jump to content
Калькуляторы

NetFlow и детализация ip destination как URL получить URL вместо ip destination

Здравствуйте,

Скажите, пожалуйста, можно ли как нибудь используя связку fprobe + flow-tools получить не destination IP, а URL в статистике? Нужно для построение отчетов для пользователей. Сейчас использую фильтр flow-nfilter при сборе статистики посещения сайтов 10.10.10.2 ipшником.

 

filter-primitive host
   type ip-address
   permit 10.10.10.2
   default deny

filter-definition inet
   match ip-source-address host

 

После применения фильтра

flow-cat /var/flows/2011/2011-06/* |flow-nfilter -Finet |flow-print

 

можно ли в статистике соединений вместо destIP получить URL?

srcIP            dstIP            prot  srcPort  dstPort  octets      packets
10.10.10.2    220.181.27.59    17    42228    53       62          1         
10.10.10.2    213.137.246.1    17    53       42228    233         1         
10.10.10.2    213.137.247.1    17    123      123      76          1         
10.10.10.2    213.137.246.4    17    123      123      76          1 

 

Т.е. так:

srcIP            dstIP            prot  srcPort  dstPort  octets      packets
10.10.10.2    http://ya.ru          17    42228    53       62          1         
10.10.10.2    http://mail.ru        17    53       42228    233         1         
10.10.10.2    ftp://ftp.dlink.ru    17    123      123      76          1

 

Хочу извлечь эти данные и отображать на страничке пользователя, чтобы он видел какие сайты он посетил и сколько он там накачал

 

Или нужно использовать другой фильтр? Коллектор?

Share this post


Link to post
Share on other sites

даже в сырых данных netflow нет урлов, поэтому нельзя

 

если у вас трафика не очень много, то для http-трафика можно использовать прозрачное проксирование и например по логам прокси-сервера генерить статистику

Share this post


Link to post
Share on other sites

Сделай логи днс с привязкой ко времени, будешь знать какие сайты посещает.

Share this post


Link to post
Share on other sites

Сделай логи днс с привязкой ко времени, будешь знать какие сайты посещает.

 

В финальном отчете мне нужно не только посещенные хосты, но и объем скаченного с них. Наверно будет не правильно (да и жопно) в скрипте, который генерит отчет сопоставлять по параметру "время" данные из Netflow коллектора и данные из логов DNS. Попробую поднять squid с lightsquid и переписать пару скриптов из lightsquid под себя.

Share this post


Link to post
Share on other sites

Сделай логи днс с привязкой ко времени, будешь знать какие сайты посещает.

 

это будет абсолютно бесполезная статистика, т.к. у пользователей есть локальный днс-кеш

Share this post


Link to post
Share on other sites

Написать скрипт, который для каждой записи будет делать:

nslookup 8.8.8.8 | grep -i 'name ='

А по номеру DST порта определять тип сервиса.

Share this post


Link to post
Share on other sites

Мы нашли для тебя ответ, Забей

 

результат либо плохо работает, либо много места занимает

у меня через squid за сутки 20Gb логов набегает

Share this post


Link to post
Share on other sites

Вместо сквида можно nginx настроить проксёй.

 

Написать скрипт, который для каждой записи будет делать

 

Фигня получится. Нужно значение HOST из заголовка запроса http. На одном ИП могут быть хоть миллионы разных сайтов, а свои AS есть у очень маленького процента контента держателей.

 

 

Share this post


Link to post
Share on other sites

Вместо сквида можно nginx настроить проксёй.

логов от этого меньше не станет =)

Share this post


Link to post
Share on other sites

как нибудь используя связку fprobe + flow-tools получить не destination IP, а URL в статистике?

как выше уже писали, в netflow данные об url не хранятся.

Использовать reverse-dns-lookup тоже не выйдет, потому как на одном ип могут быть тысячи хостов

 

для того, чего вы хотите есть urlsnarf и squid, но это решения совсем не того уровня, поэтому забейте =)

Share this post


Link to post
Share on other sites
логов от этого меньше не станет =)

 

Оно полегче, оптимизировано по лучше, и кеша по умолчанию нет вообще.

 

 

Share this post


Link to post
Share on other sites

Ну вообще можно логи парсить на лету, например с помощью syslog-ng v3 сливать их в базу и сделать функцию на PL/pgSQL, которая будет парсить строчку и сразу складировать в таблицу статистики. Мало того, я думаю, что скорее всего есть реализации прокси-серверов, которые ничего не кешируют, а просто считают статистику без всех тех костылей, которые я предлагаю

Share this post


Link to post
Share on other sites

у меня через squid за сутки 20Gb логов набегает

"Органы" очень настоятельно "просят" хранить такие логи 2 года. Потому выход - 8 терабайтный рейд под это дело. Увы :(

Share this post


Link to post
Share on other sites

"просят"

А ещё "просят" весь проходящий трафик хранить, так на всякий

Share this post


Link to post
Share on other sites

т.е. никто такой фигнёй не занимается, а именно вас почему-то пытаются заставить?

Share this post


Link to post
Share on other sites

т.е. никто такой фигнёй не занимается, а именно вас почему-то пытаются заставить?

Отучаемся отвечать за всех. ОК? :)

Share this post


Link to post
Share on other sites
Отучаемся отвечать за всех. ОК? :)

Архив URL-ов? Нет технической возможности (собственно, у Вас и права нет выдирать их из трафика клиента, это не служебные заголовки). Все запросы идут только по IP и времени.

Share this post


Link to post
Share on other sites

Архив URL-ов? Нет технической возможности

Нет, архив NetFlow.

"Нет технической возможности" --> стук "органов" в надзор --> проверка --> предписание

Share this post


Link to post
Share on other sites

Архив URL-ов? Нет технической возможности

Нет, архив NetFlow.

"Нет технической возможности" --> стук "органов" в надзор --> проверка --> предписание

 

Архив netflow у вас и так есть. Ну нет там урлов, это информация не 3его и не 4ого уровня. Предписание по какому поводу?

Share this post


Link to post
Share on other sites

Если перечитаете мои посты, то я про URL-ы никогда не писал. NetFlow обязаны хранить. Не храните - получите предписание за невыполнение требований по СОРМ.

Share this post


Link to post
Share on other sites

Если перечитаете мои посты, то я про URL-ы никогда не писал. NetFlow обязаны хранить. Не храните - получите предписание за невыполнение требований по СОРМ.

 

у меня через squid за сутки 20Gb логов набегает

"Органы" очень настоятельно "просят" хранить такие логи 2 года. Потому выход - 8 терабайтный рейд под это дело. Увы :(

 

Логи сквида это фактически и есть урлы. Или я не правильно понял смысл слов "такие логи" ?

Share this post


Link to post
Share on other sites

Или я не правильно понял смысл слов "такие логи" ?

Конечно неправильно. Перечитайте еще раз. :)

Share this post


Link to post
Share on other sites

Разобьём все сомнения вопросом.

 

Дайте ссылку на статью(Закон) где написано про хранение детальки(за предыдущие месяца), сбор непонятных данных(URL), и ещё какой лубуды.

Edited by SiXeD

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this