2008-12-13 17 views
9

Estoy buscando formas de ver eventos de mouse y teclado en Windows, Linux y Mac desde Python.Registrador de teclas multiplataforma

Mi aplicación es un rastreador de tiempo. No estoy investigando el evento, solo grabo el tiempo cuando sucede. Si no hay eventos durante un tiempo determinado, digamos 10 minutos, supongo que el usuario se fue y detuvo el proyecto actual.

Cuando el usuario regresa (los eventos vuelven a aparecer), espero un momento (para que esto no sea activado por el equipo de limpieza o sus mascotas o por un terremoto). Si los eventos persisten durante un período de tiempo más largo, supongo que el usuario ha regresado y le aparece una ventana pequeña e inactiva en la que puede elegir agregar el intervalo de tiempo para "interrumpir", el proyecto actual (reunión, etc.) o un proyecto diferente

He resuelto el keylogger para Windows usando el pyHook.

En Linux, encontré una solución pero no me gusta: puedo ver todos los nodos de dispositivos en/etc/input y actualizar una marca de tiempo en/var o/tmp cada vez que veo un evento. Hay dos inconvenientes: 1. No puedo decir si el evento es del usuario que ejecuta el rastreador de tiempo y 2. este pequeño programa debe ejecutarse como raíz (no es bueno).

En Mac, todavía no tengo idea.

Preguntas:

  1. ¿Hay una mejor manera de saber si el usuario está creando eventos que vigilar a los dispositivos de eventos en Linux?

  2. ¿Alguna sugerencia sobre cómo hacer eso en una Mac?

+0

Esa es una aplicación de gestión del tiempo interesante, ¿la completó? ¿Está disponible para el público? –

+0

@BrunoKim: utilicé mientras trabajaba en arrendamiento corporal. Envíame un correo electrónico y puedo darte el código. O tal vez puedo empujarlo a Bitbucket: -/ –

Respuesta

10

Hay par de aplicaciones de código abierto que algunos indicadores podrían dar:

  • PyKeylogger es keylogger Python para Windows y Linux
  • logKext es un C++ keylogger para Mac
+0

el primer enlace está muerto ahora :( – palsch

+1

corrigió la url, debe haber cambiado algo de tiempo en los últimos 7 años. El proyecto aún está allí y se actualizó en 2014. –

7

Hay un gran artículo en Escribiendo Linux Kernel Keyloggers
http://www.phrack.com/issues.html?issue=59&id=14#article

Si está intentando ejecutar un honeypot, entonces definitivamente dar Sebek una oportunidad:
https://projects.honeynet.org/sebek/

Sebek es una herramienta de captura de datos diseñada para capturar las actividades del atacante en un honeypot , sin la atacante (con suerte) sabiéndolo. Tiene dos componentes . El primero es un cliente que ejecuta en los honeypots, su propósito es para capturar todas las actividades de los atacantes (pulsaciones de teclas, cargas de archivos, contraseñas ) y luego envía encubiertamente los datos al servidor. El segundo componente es el servidor que recopila los datos de los honeypots. El servidor normalmente se ejecuta en la puerta de enlace Honeywall , pero también puede ejecutar de forma independiente.Para obtener más información sobre Sebek, consulte http://www.honeynet.org/tools/sebek

Pero, si prefiere seguir el script kiddie ruta/no aprende, entonces pruebe las siguientes aplicaciones:

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

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


RECOMENDACIÓN: Será mejor que escriba la suya con fines de aprendizaje y ganancia.