2008-12-13 5 views
9

Я ищу способы смотреть события мыши и клавиатуры на Windows, Linux и Mac с Python.Кроссплатформенный кейлоггер

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

Когда пользователь возвращается (события заходят снова), я жду мгновение (так что это не срабатывает у уборщицы или ваших питомцев или землетрясение). Если события сохраняются в течение более длительного периода времени, я предполагаю, что пользователь вернулся, и я вывожу небольшое, неактивное окно, где она может выбрать, чтобы добавить временной интервал «break», текущий проект (встреча и т. Д.) Или другой проект.

Я решил кейлоггер для Windows, используя pyHook.

В Linux я нашел решение, но мне оно не нравится: я могу просматривать все узлы устройства в/etc/input и обновлять временную метку где-нибудь в/var или/tmp каждый раз, когда вижу событие. Есть два недостатка: 1. Я не могу определить, будет ли событие, если от пользователя, который работает отслежыватель времени, и 2. эта небольшая программа должна выполняться как root (не очень хорошая).

На Mac я понятия не имею.

Вопросы:

  1. Есть ли лучший способ узнать, пользователь создает ли событие, чем смотреть устройство событий на Linux?

  2. Любые указатели, как это сделать на Mac?

+0

Это интересное приложение для управления временем, вы его заполнили? Доступен ли он для общественности? – 2012-11-12 14:49:24

+0

@BrunoKim: Я использовал, когда работал в лизинге. Отправьте мне электронное письмо, и я могу дать вам код. Или, может быть, я могу подтолкнуть его к Bitbucket: -/ – 2012-11-12 14:59:24

ответ

10

Есть несколько приложений с открытым исходным кодом, которые могли бы дать вам несколько советов:

  • PyKeylogger является питон кейлоггер для Windows и Linux
  • logKext является C++ кейлоггер для Mac
7

Есть отличная статья на Написание Linux Kernel Keyloggers
http://www.phrack.com/issues.html?issue=59&id=14#article

Если вы пытаетесь запустить приманку, то, безусловно, дают Šebek попробовать:
https://projects.honeynet.org/sebek/

Себек является инструментом сбора данных предназначен для захвата деятельности атакующей на приманки, без атакующий (надеюсь), зная это. Он имеет два компонента . Первым клиентом является то, что работает на приманках, его цель - , чтобы захватить всех злоумышленников действия (нажатия клавиш, загрузка файлов, паролей), затем тайно отправьте данные на сервер. Второй компонент - сервер, который собирает данные из приманок. Сервер обычно работает на шлюзе Honeywall , но также может запускать самостоятельно.Для получения дополнительной информации о Себека см http://www.honeynet.org/tools/sebek

Но, если вы не хотите следовать KIDDIE сценария маршрут/не узнать, то попробуйте следующие приложения:

LINUX
http://sourceforge.net/projects/lkl/

WINDOWS
http://www.rohos.com/kid-logger/
http://code.google.com/p/freelogger/


КОНСУЛЬТАЦИЯ: Вам лучше писать свои собственные учебные и некоммерческие цели.

Смежные вопросы