Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Linux/Plain C/ Контроль юзеров, Система "слежки" за работниками 
:(
    Опции темы
chaZm
Дата 5.6.2008, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 7.4.2008

Репутация: нет
Всего: нет



Всем доброго времени суток...
Собственно к делу. Возникла необходимость написания программы слежки за сотрудниками. То есть сбор активности клавиатуры, мыши + сбор скриншотов в определ. отрезки времени, пока на таком вот простом уровне. Архитектура следующая - рабочие станции - Linux - например Убунту, сервер - FreeBSD(Apache). При включении рабочих станции демон начинает собирать инфу(настройки видимо передаются сервером) и отправляет для хранения в базе на сервере.
В будущем еще планируется возможность просмотра юзерами своей статистики через веб интерфейс...  - разработка ведется на Plain C(Обязательное условие)
Собственно возникло несколько вопросов, поскольку с сетями раньше работал мало. Ну и помимо этого есть моменты. Итак...в первую очередь..
1)Тривиальный вопрос. как програмно снять скриншот ? Гугл выдает лишь скриншоты всякие а не способ. Казалось бы простая вещь но что то я не дотумкал )
2) Как логичнее было бы собирать статистику ? Формировать структуру (клава+мышь + скриншот (см вопрос3)) и отправлять на сервер... Опять же возникает вопрос реализации сериализации (хм..))
3) Пожалуй логично было бы не хранить сами скрины в базе, а лишь пути к ним, Однаку тут другая проблема возникает. Отдельно передавать скрины должны клиенты или разделение реализовывать на сервере ?
---------
пока все ....  Хотя вопросы пожалуй еще есть...
надеюсь на участие ))

Это сообщение отредактировал(а) chaZm - 5.6.2008, 18:08
PM MAIL   Вверх
MAKCim
Дата 5.6.2008, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 84
Всего: 207



Цитата(chaZm @  5.6.2008,  18:08 Найти цитируемый пост)
1)Тривиальный вопрос. как програмно снять скриншот ? Гугл выдает лишь скриншоты всякие а не способ. Казалось бы простая вещь но что то я не дотумкал )

смотреть исходники gnome-screenshot

Цитата(chaZm @  5.6.2008,  18:08 Найти цитируемый пост)
2) Как логичнее было бы собирать статистику ? Формировать структуру (клава+мышь + скриншот (см вопрос3)) и отправлять на сервер... Опять же возникает вопрос реализации сериализации (хм..))

XML




--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
chaZm
Дата 5.6.2008, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 7.4.2008

Репутация: нет
Всего: нет



Цитата(MAKCim @ 5.6.2008,  21:11)
смотреть исходники gnome-screenshot
-------------------

XML

Хм..действительно...по скриншоту как я не допер :(

Про XML ... К сожалению с XML серьезно не работал.... Подскажите если можно принцип реализации. на пальцах... ну или какие маны курить..

спасибо smile
PM MAIL   Вверх
MAKCim
Дата 5.6.2008, 22:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 84
Всего: 207



Цитата(chaZm @  5.6.2008,  22:41 Найти цитируемый пост)
Подскажите если можно принцип реализации. на пальцах... ну или какие маны курить

принцип реализации чего?


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
chaZm
Дата 5.6.2008, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 7.4.2008

Репутация: нет
Всего: нет



Ну на мой 2й вопрос вы ответили XML...
соотв. в нем существуют какие либо методы для решения проблемы....
собственно реализацию как раз того о чем я интересовался в п.2..
опять же если не сложно
PM MAIL   Вверх
MAKCim
Дата 6.6.2008, 09:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 84
Всего: 207



Цитата(chaZm @  5.6.2008,  23:56 Найти цитируемый пост)
соотв. в нем существуют какие либо методы для решения проблемы....

XML я привел как пример возможной кроссплатформенной сериализации статистики
ну в итоге получим что-то такое
Код

<statistics>
    <keyboard>
        ...
    <keyboard>
    <mouse>
        ...
    </mouse>
</statistics>



--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
SABROG
Дата 6.6.2008, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: нет
Всего: 91



Кстати если я правильно помню, то X-сервер может работать и по сети, т.е. может быть можно как-то подключиться к оконному серверу с другой тачки. Может быть даже можно как-то настроить драйвера клавиатуры и мышки, чтобы записывались логи. Может быть даже тупо поменять исходники драйверов в ядре и пересобрать его под свои нужны.


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
chaZm
Дата 6.6.2008, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 7.4.2008

Репутация: нет
Всего: нет



Хм..интересно.. попробую копнуть в этом направлении..
XML тоже посмотрю... можт получится что то взять из него..
Тогда следующая пачка впросов..

1)Отслеживание нажатий клавиатуры. в одной из тем откопал вот что..
"Нашел только один способ - подключиться напрямую к файлу клавиатуры (типа /dev/input/event0) и читать события из него. Там на каждое событие клавиатуры (нажал,  повтор, отпустил) приходит по два, кажется, события. Их формат можно найти в /usr/include/linux/input.h, если не ошибаюсь." (С)bsa 
собственно вроде бы не плохой метод... Или же есть альтернатива?
2) Аналогичный вопрос по мыши... Мне нужно отслеживать активность, то есть получается аналогичный случай... Пишется ли подобная статистика куда нибудь?

Пока все...
заранее спасибо
PM MAIL   Вверх
MAKCim
Дата 6.6.2008, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 84
Всего: 207



Цитата(chaZm @  6.6.2008,  11:58 Найти цитируемый пост)
собственно вроде бы не плохой метод... Или же есть альтернатива?

все альтернативы так или иначе основаны на этом способе

Цитата(chaZm @  6.6.2008,  11:58 Найти цитируемый пост)
Аналогичный вопрос по мыши... Мне нужно отслеживать активность, то есть получается аналогичный случай... Пишется ли подобная статистика куда нибудь?

/dev/input/* (один из event-ов)


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
chaZm
Дата 6.6.2008, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 7.4.2008

Репутация: нет
Всего: нет



Посидел, покумекал....
Сильно не пинать если вопросы примитивные, не так давно на линь перешел....
Во- первых... открыть /event0 и тд. на чтение.... Это можно сделать лишь из под рута..  Не будет ли с этим проблем из под юзера..
И второе... нужно ли будет его обновлять...в конце концов требуется чтение клавиш\мыши на лету (ну в той или иной мере).  Нужно ли будет файл постоянно обновлять....
Кроме того...в input.c нет структуры для мыши.... Где можно посмотреть формать для нее?

Заранее спасибо
PM MAIL   Вверх
bsa
Дата 6.6.2008, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 16
Всего: 196



Цитата(chaZm @ 6.6.2008,  15:56)
И второе... нужно ли будет его обновлять...в конце концов требуется чтение клавиш\мыши на лету (ну в той или иной мере).  Нужно ли будет файл постоянно обновлять....

Обновлять файл? Ты как себе это представляешь?
Надо его открыть в не блокирующем режиме и ждать поступления данных с помощью select.
PM   Вверх
chaZm
Дата 6.6.2008, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 7.4.2008

Репутация: нет
Всего: нет



Цитата(bsa @ 6.6.2008,  15:58)
Обновлять файл? Ты как себе это представляешь?
Надо его открыть в не блокирующем режиме и ждать поступления данных с помощью select.

Хм...я не совсем корректно выразился...
Но в любом случае ответ именно тот что я хотел слышать... 
спасибо smile

остается вопрос по мыши.. кто нибудь может помочь ?

Это сообщение отредактировал(а) chaZm - 6.6.2008, 17:36
PM MAIL   Вверх
bsa
Дата 7.6.2008, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 16
Всего: 196



chaZm, открой исходники ядра и сам узнай. Думаю, ты можешь найти нужную структуру в /usr/include/linux/input.h
PM   Вверх
chaZm
Дата 8.6.2008, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 7.4.2008

Репутация: нет
Всего: нет



Цитата(bsa @ 7.6.2008,  21:53)
chaZm, открой исходники ядра и сам узнай. Думаю, ты можешь найти нужную структуру в /usr/include/linux/input.h

Дело как раз в том что в input.h описывается подобная структура для клавиатуры и как я понял джойстика. В том числе и force feedback... Для мыши там ничего нет... продолжаю копать исходники....
PM MAIL   Вверх
chaZm
Дата 8.6.2008, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 7.4.2008

Репутация: нет
Всего: нет



Рылся и гуглил..в итоге накопал интересную идею...
---------
evdev is the generic input event interface. It passes the events generated in the kernel (since verson 2.6.8) straight to the program, with timestamps. This is the way for X to get keyboard and mouse events. It allows for multihead in X without any specific multihead kernel support.
----------
Я так понимаю evdev как раз таки считаывает из тех самых event0 то что мне надо и не стоит изобретать вилосипед....
кажется даже нашел болеее менее готовое решение проблемы - xevdevServer..
Попробую с ним поработать...
правда она на c++... но интересные идеи вроде бы есть...
Задумался...а не в блокирующем ли режиме будет работать evdev...

Это сообщение отредактировал(а) chaZm - 8.6.2008, 13:04
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.0552 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.