|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Написать модуль учёта пользователей в корпоративной компьютерной сети
Народ, помогите пожалуйста. Мне надо написать модуль учёта пользователей в корпоративной компьютерной сети в Delphi, только вот неполучается. Есть лог прокси, в нём около 10 000 строчек, у меня получается вывести на экран ник, айпи пользователя, какие сайты он посещал, а общее время проведённое в сети, не получается. Проблема в том, что пользователь посидел в инете около 5 минут и вышел, а потом опять зашёл и вышел, и по несколько раз за день. Нужно посчитать скока пользователь всего насидел минут в сети за весь день. Помогите плииииииииииииииииииз
|
#2
|
||||
|
||||
может быть я не так понял, но можно попробовать искать последовательную пару времен захода/выхода из инета, относящихся к одному пользователю (определить начало и конец одной сессии), искать время проведенное за одну сессию (конец сессии минус начало сессии), когда продолжительности всех сессий найдены, тупо суммировать - итого общее время проведенное пользователем.
загвоздка -то в чем? , если в типе TDateTime, глянь вот тут: Процедуры и функции работы с датой и временем и для обмозгования можно несколько строк лога? Последний раз редактировалось cotseec, 04.08.2008 в 16:40. |
#3
|
||||
|
||||
192.168.0.40 - pro_fin [22/Sep/2003:08:00:55 +0300] "GET http://www.finam.ru/nmain.css HTTP/1.0" 304 0 Cache
192.168.0.40 - pro_fin [22/Sep/2003:08:00:55 +0300] "GET http://www.finam.ru/ HTTP/1.0" 200 55413 New 192.168.0.40 - pro_fin [22/Sep/2003:08:00:56 +0300] "GET http://www.finam.ru/i/0.gif HTTP/1.0" 304 0 Cache 192.168.0.40 - pro_fin [22/Sep/2003:08:00:57 +0300] "GET http://dclk.imho.ru/image.ng/impt=im...8x60&id=180903 HTTP/1.0" 200 0 New 192.168.0.40 - pro_fin [22/Sep/2003:08:00:57 +0300] "GET http://counter.rambler.ru/top100.cnt?35046 HTTP/1.0" 200 796 New 192.168.0.40 - pro_fin [22/Sep/2003:08:00:57 +0300] "GET http://top.list.ru/counter?id=14092;...87701004108362 HTTP/1.0" 200 43 New 192.168.0.40 - pro_fin [22/Sep/2003:08:00:57 +0300] "GET http://counter.yadro.ru/hit?r;s1024*...36692376902097 HTTP/1.0" 200 43 New 192.168.0.40 - pro_fin [22/Sep/2003:08:00:57 +0300] "GET http://www.finam.ru/i/site-search.gif HTTP/1.0" 304 0 Cache 192.168.0.40 - pro_fin [22/Sep/2003:08:00:57 +0300] "GET http://www.finam.ru/i/site-map.gif HTTP/1.0" 304 0 Cache 192.168.0.22 - cit [22/Sep/2003:08:03:18 +0300] "GET http://www.drweb.ru/index/ HTTP/1.0" 200 421 Cache 192.168.0.22 - cit [22/Sep/2003:08:03:22 +0300] "GET http://www.drweb.ru/ HTTP/1.0" 200 12694 New 192.168.0.22 - cit [22/Sep/2003:08:03:22 +0300] "GET http://www.drweb.ru/drweb.css HTTP/1.0" 200 4982 Cache 192.168.0.22 - cit [22/Sep/2003:08:03:34 +0300] "GET http://www.drweb.ru/ftp/web_pub/drw43007.zip HTTP/1.0" 200 7546 New 192.168.0.22 - cit [22/Sep/2003:08:03:35 +0300] "GET http://update.reget.com/reget_free_ru.info HTTP/1.0" 200 58 New 192.168.0.22 - cit [22/Sep/2003:08:03:41 +0300] "GET http://img.gismeteo.ru/weather/wp.css HTTP/1.0" 200 557 New 192.168.0.22 - cit [22/Sep/2003:08:03:42 +0300] "GET http://www.gismeteo.ru/weather/towns/27581.htm HTTP/1.0" 200 35743 New 192.168.0.40 - pro_fin [22/Sep/2003:08:03:49 +0300] "GET http://engine.awaps.net/3/424/240400.?0-0-32991 HTTP/1.0" 200 43 New 192.168.0.40 - pro_fin [22/Sep/2003:08:03:51 +0300] "GET http://www.mail.ru/ HTTP/1.0" 200 59278 New 192.168.0.40 - pro_fin [22/Sep/2003:08:03:51 +0300] "GET http://r.mail.ru/b1070.gif?150802224 HTTP/1.0" 200 12456 New смари, я могу написать массив, чтобы к примеру вычитал из последнего в списке pro_fin самого первого в списке, но мне надо чтобы выводилось скока просидел он в день минут, и если посмотреть на лог то там видно, что он посидит в инете и выйдет. Вот... |
#4
|
||||
|
||||
Что-то сотворил, посмотри, может поможет, кидаю в аттач
|
#5
|
||||
|
||||
о, огромное спасибо, программа просто отличная, но мне правда надо, чтобы все данные брались из файла, а в файле почти 10 000 строчек, что делать в этом случае?
Последний раз редактировалось Cnapkc, 06.08.2008 в 21:24. |
#6
|
||||
|
||||
На форму кидаешь OpenDialog, а в меме (mem_Log кажется, мемо, где отображаются строки лога) LoadFromFile из файла, что выберешь в OpenDialog'e, а потом можно извращатся
или тупо (если делать ничего не хочешь) открываешь в каком-нибудь текстовике типа блокнота (AkelPad, Aditor, Notepad++ и пр.) или в ворде файл лога, Ctrl+A, Ctrl+C и при запущенной программе вставляешь в мемо, где отображаются строки лога (удалив предварительно старое в этом меме) по поводу 10 000 строк, тестил при максимум 1 000 строк, но алгоритм-то работает Последний раз редактировалось cotseec, 06.08.2008 в 21:58. |
#7
|
||||
|
||||
огромное спасибо, даже не знаю как тебя отблагодарить
|
#8
|
||||
|
||||
блин, есть маленькая проблемка, когда вставляешь лог файла, в никах и айпи появляются другие записи, что делать? я загружу половина лог файла, посмотри плиз
|
#9
|
||||
|
||||
Вводить проверку на предмет наличия ника или ип в строке лога, для заполнения комбобокса просто вырезаются куски текста из КАЖДОЙ строки, что находится в меме лога, по шаблону ип или ника.
В программе продемонстрирован вариант выполнения того, что ты спрашивал в первом посте, а на самостоятельную программу, готовую для полномасштабного использования, она не тянет Понять, что хочет заказчик - бесценно, ведь он платит MasterCard |
#10
|
||||
|
||||
ок, будем знать
|