2008-12-13 13 views
9

Je suis à la recherche de façons de regarder les événements souris et clavier sur Windows, Linux et Mac à partir de Python.Cross keylogger

Mon application est un traqueur de temps. Je ne regarde pas dans l'événement, je note juste le temps quand cela arrive. S'il n'y a aucun événement pendant un certain temps, disons 10 minutes, je suppose que l'utilisateur a quitté et arrêter le projet en cours. Lorsque l'utilisateur revient (les événements reviennent), j'attends un moment (donc cela ne sera pas déclenché par l'équipe de nettoyage ou vos animaux de compagnie ou un tremblement de terre). Si les événements persistent sur une période plus longue, je suppose que l'utilisateur est revenu et que j'ouvre une petite fenêtre inactive où elle peut choisir d'ajouter l'intervalle de temps pour "casser", le projet en cours (réunion, etc.) ou un projet différent.

J'ai résolu le keylogger pour Windows en utilisant le pyHook. Sur Linux, j'ai trouvé une solution mais je ne l'aime pas: je peux regarder tous les nœuds de périphérique dans/etc/input et mettre à jour un horodatage quelque part dans/var ou/tmp chaque fois que je vois un événement. Il y a deux inconvénients: 1. Je ne peux pas dire si l'événement provient de l'utilisateur qui exécute le suivi de temps et 2. ce petit programme doit être exécuté en tant que root (pas bon).

Sur Mac, je n'ai pas encore d'idée.

Questions:

  1. Y at-il une meilleure façon de savoir si l'utilisateur crée des événements que de regarder les appareils d'événements sur Linux?

  2. Des pointeurs comment faire cela sur un Mac?

+0

C'est une application intéressante de gestion du temps, l'avez-vous terminée? Est-ce disponible pour le public? –

+0

@BrunoKim: J'ai utilisé pendant que je travaillais en leasing corporel. Envoyez-moi un email et je peux vous donner le code. Ou peut-être que je peux le pousser à Bitbucket: -/ –

Répondre

10

Il y a quelques applications open source qui pourrait vous donner quelques conseils:

  • PyKeylogger est-keylogger python pour Windows et Linux
  • logKext est un C++ keylogger pour Mac
+0

le premier lien est mort maintenant :( – palsch

+1

fixe l'URL, doit avoir changé au cours des 7 dernières années, le projet est toujours là et a été mis à jour en 2014. –

7

Il y a un grand article sur Ecriture Keyloggers Linux noyau
http://www.phrack.com/issues.html?issue=59&id=14#article

Si vous essayez d'exécuter un honeypot, puis certainement donner Sebek essayer:
https://projects.honeynet.org/sebek/

Sebek est un outil de capture de données conçu pour capturer les activités de l'attaquant sur un honeypot, sans attaquant (heureusement) le sachant. Il a deux composants . Le premier est un client qui fonctionne sur les pots de miel, son but est pour capturer toutes les activités des attaquants (frappes de clavier, téléchargements de fichiers, mots de passe) puis envoyer secrètement les données au serveur. Le deuxième composant est le serveur qui collecte les données à partir des pots de miel. Le serveur fonctionne normalement sur la passerelle Honeywall , mais peut également exécuter indépendamment.Pour plus d'informations sur Sebek, s'il vous plaît voir http://www.honeynet.org/tools/sebek

Mais, si vous préférez suivre la route script kiddie/ne pas apprendre, puis essayer les applications suivantes:

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

WINDOWS
http://www.rohos.com/kid-logger/
http://code.google.com/p/freelogger/
CONSEIL: Il vaut mieux écrire les vôtres à des fins d'apprentissage et de perfectionnement.