Статистика по трафику

Обсуждение общих вопросов, не касающихся настройки оборудования и ОС
Buzzit
Сообщения: 1
Зарегистрирован: 27 сен 2011, 17:56

Добрый день!

Есть такая задачка - собирать статистику по посещенным пользователями сайтам (в основном важно именно http) и представлять ее в удобном для анализа виде -
т.е. за определенный период времени - день, неделя и т.д. для определенного внутреннего IP.

Подскажите, как и какими программными средствами возможно это реализовать.
Роутер 750GL, сервер под обработку - win2008r2.

Пока видно пару решений - получать информацию через NetFlow или получать логи от transparent-proxy.
Попробовал поставить Nport, информация о трафике идет, но совершенно непонятно как ее систематизировать в нем, а так же как быть с отчетами по времени.
Так же нашел простенький анализатор логов http://code.google.com/p/webproxy-log/, но он пока совсем не допилен.

Хочется что-то вроде программки ProxyInspector, но как в нее запихнуть логи от микротика я не разумею(

Подскажите кто как решал подобную задачку...


iSupport
Сообщения: 2359
Зарегистрирован: 06 фев 2011, 20:44

сразу так не подскажу, надо подумать

пока пришла мысль - редиректить трафик от микротика на 2008й, там проксить чем-то и возвращать назад :D


Граждане, сколько раз просил =) чем понятнее и точнее сформулирован вопрос - тем понятнее и точнее будет на него ответ.
Я просматриваю ВСЕ темы форума и стараюсь помочь в каждой из них
Поэтому, НА ЛС отвечаю в последнюю очередь
kvas
Сообщения: 1
Зарегистрирован: 11 май 2012, 08:48

Я использую вот это. Если я конечно правильно тебя понял.


sudmal
Сообщения: 1
Зарегистрирован: 17 май 2012, 16:29

Я для себя сделал скриптик (linux bash), который конвертирует логи из формата web-proxy в squid-формат, понятный любому анализатору логов, коих тыщщи

wp2sq:

Код: Выделить всё

#!/bin/bash
lines=`cat $1| wc -l`
for l in `seq 1 $lines`;do
 logline=`cat $1|head -n $l|tail -n1`
 dt=`echo $logline|awk '{print $1" "$2" "$3}'`
 datetime=`date +%s -d "$dt"`
 host=`echo $logline|awk '{print $6}'`
 action=`echo $logline|awk '{print $9}'|awk -F"=" '{print $2}'`
 if [ "$action" = "deny" ];then
    hit="TCP_DENIED/403"
    size="0"
 else
    hit="TCP_MISS/200"
    size="100"
 fi
 method=`echo $logline|awk '{print $7}'`
 url=`echo $logline|awk '{print $8}'`

 echo -e "$datetime.000\t1\t$host $hit $size $method $url - DIRECT/0.0.0.0 text/html"
done



Размер скачаного не учитывается, ибо его не отдаёт сам микротик (debug не включал, ибо весь этот вывод парсить- гемор, и скрипт сутки работать будет)

Использовать так:

Код: Выделить всё

wp2sq syslog-mikrotik.log > access.log

syslog-mikrotik.log - это файлик, куда штатный syslog-ng демон сохраняет логи, приходящие от микротиков.
access.log - сконвертированый файл, который можно подсовывать различным squid-анализаторам, например lightsquid


Холмик
Сообщения: 6
Зарегистрирован: 19 июн 2012, 10:27

Чтобы не плодить тем, решил спросить тут. Сразу оговорюсь, я новичок, работу с сетями только начинаю осваивать, поэтому могу задавать тупые вопросы. Итак.

Есть микротиковский роутер. Получает интернет от провайдера, раздаёт его в локальную сеть. Работает DHCP-сервером.
Начальству понадобился "ябедник". Задача: смотреть, кто, куда и когда ходил.

Я начал настраивать на микротике прокси-сервер по этой инструкции: http://www.youtube.com/watch?v=fVsNdJ2O ... ure=colike

Прокси заработал, я не сразу разобрался, как вести лог, но потом всё удалось нормально. Теперь, собственно вопросы.

1. Лог микротик пишет к себе. Размер лога довольно большой, и память забивается очень быстро. Как сделать так, чтобы лог писался на другой компьютер? Или хотя бы на флешку?

2. Я посмотрел структуру лога, для меня в ней куча лишней информации. В принципе, могу написать программку, которая вычленяет то, что мне надо, но наверняка такие штуки уже есть. Что порекомендуете?


Холмик
Сообщения: 6
Зарегистрирован: 19 июн 2012, 10:27

Извините за флуд, пока ждал ответ, сам разобрался. :)


iSupport
Сообщения: 2359
Зарегистрирован: 06 фев 2011, 20:44

за полчаса разобрались, оперативно

поделитесь своим решением с народом =)


Граждане, сколько раз просил =) чем понятнее и точнее сформулирован вопрос - тем понятнее и точнее будет на него ответ.
Я просматриваю ВСЕ темы форума и стараюсь помочь в каждой из них
Поэтому, НА ЛС отвечаю в последнюю очередь
Холмик
Сообщения: 6
Зарегистрирован: 19 июн 2012, 10:27

Мне не жалко поделиться, но вопрос внезапно опять завис и снова актуален. :)
1. Вопрос записи лога я решил быстро и просто. Помогла программа WebProxyLog. В неё входит компонент LogCatcher (резидентная программка ловушки логов, которая слушает 514 порт UDP). Программка ставится на сервер, после чего микротиковский роутер настраивается на пересылку логов на этот комп. Собственно, всё. :)
Программа лежит здесь: http://code.google.com/p/webproxy-log/ Там же лежит подробная инструкция по настройке роутера для работы с этой программой.
2. Второй вопрос решить толком не удалось. Собственно, об этом ниже.

Теперь собственно те вопросы, которые мне решить не удалось, ибо в сетях и проксях я полный чайник.
1. Видеоинструкция, по которой я настроил прокси, оказалась с "сюрпризом". Прокси, поднятый на ней, оказался рабочим, но открытым для всех. То есть, абсолютно любой пользователь интернета мог прописать в свойствах браузера этот прокси как анонимный, и наслаждаться полной безопасностью. :) Неладное я заподозрил на третий день после просмотра логов. На данный момент пришлось отключить эту конфигурацию. Поэтому, буду крайне благодарен за советы по доводке данной конфигурации до ума. Задача: прокси-сервером могут пользоваться только участники локальной сети.
2. Логи я ловить научился. Но проблема в том, что программой WebProxyLog вычленить нужную информацию фактически нереально. Потому что ловится любое обращение со странички. Грубый пример. Захожу на mail.ru. Читаю почту, потом иду на Рамблер. Смотрю логи. Оказывается, я заходил и на мейл, и на рамблер, и на вконтакт, и на одноклассники, и на кучу разных порталов, про которые вообще никогда не слышал. Про различные счётчики я вообще молчу. Я подозреваю, что это каким-то образом работает активное содержимое этих страничек. То есть, картина создаётся совершенно ложная. Пользователь зашёл на пару сайтов, а в логах отобразился чуть ли не десяток, в том числе и адреса соцсетей, увлечение которыми на работе хоть и не запрещено, но и не поощряется. И как с этим быть?

Вот такие пироги. Вроде как решил вопрос, но появилась ещё куча. И что делать - не знаю. :evil:


Аватара пользователя
Dragon_Knight
Сообщения: 1724
Зарегистрирован: 26 мар 2012, 18:21
Откуда: МО, Мытищи
Контактная информация:

Прокси необходимо просто заблочить в фаерволе.

Код: Выделить всё

add action=drop chain=input comment="No public proxy" disabled=no dst-port=8080 in-interface=NICOS protocol=tcp src-address=0.0.0.0/0


Небольшой свод правил логики и ссылок:
  1. Если устройство имеет Ethernet порт, то оно обязано быть подключено через него. Компьютер, Ноутбук, Телевизор, Принтер, Камера видеонаблюдения, и т.д.
  2. Если нет возможности протянуть кабель, то найдите её, или страдайте со своими проблемами Wi-Fi дальше.
  3. Wi-Fi это сеть для мобильных устройств. Если Вы подключили свой шикарный 50" телевизор не кабелем, то без фотоотчёта, когда он лежит у Вас в кармане дальнейшего разговора не получиться. Это относится и ко всем остальным устройствам.
  4. Если Ваше устройство вызывает вопросы в работе, первое что необходимо делать: NetInstall + дальнейшая настройка вручную.
  5. Не используйте WebFig или QuickSet - это пути к глюкам и ошибкам. Только SSH или WinBox, и да, - WinBox есть под Android.
  6. name.rsc - это текстовый файл, и Вы можете его открыть блокнотом.
  7. Если Вы хотите связаться со мной для ремонта или настройки, то: Telegram ( Не благотворительность ).
  8. Мой сайт по Mikrotik: Global Zone >> MikroTik.
Холмик
Сообщения: 6
Зарегистрирован: 19 июн 2012, 10:27

add action=drop chain=input comment="No public proxy" disabled=no dst-port=8080 in-interface=NICOS protocol=tcp src-address=0.0.0.0/0


Не получилось.

bad command name add (line 1 column 1)


Закрыто