9

我正在寻找通过 Python 在 Windows、Linux 和 Mac 上观看鼠标和键盘事件的方法。

我的应用程序是一个时间跟踪器。我不是在调查事件,我只是记录事件发生的时间。如果在一定时间内没有事件,比如 10 分钟,我假设用户已经离开并停止当前项目。

当用户返回时(事件再次出现),我稍等片刻(所以这不会被清洁人员或您的宠物或地震触发)。如果事件持续较长时间,我假设用户已经返回,我会弹出一个小的非活动窗口,她可以在其中选择将时间间隔添加到“中断”、当前项目(会议等)或一个不同的项目。

我已经使用pyHook解决了 Windows 的键盘记录器。

在 Linux 上,我找到了一个解决方案,但我不喜欢它:我可以查看 /etc/input 中的所有设备节点,并在每次看到事件时更新 /var 或 /tmp 中某处的时间戳。有两个缺点:1.我无法判断事件是否来自运行时间跟踪器的用户和2.这个小程序需要以root身份运行(不好)。

在 Mac 上,我还不知道。

问题:

  1. 有没有比在 Linux 上观看事件设备更好的方法来了解用户是否正在创建事件?

  2. 任何指针如何在Mac上做到这一点?

4

2 回答 2

10

有几个开源应用程序可能会给你一些指导:

  • PyKeylogger是适用于 windows 和 linux 的 python 键盘记录器
  • logKext是一个用于 mac 的 c++ 键盘记录器
于 2008-12-13T13:46:12.427 回答
9

关于编写 Linux 内核键盘记录器 有一篇很棒的文章
http://www.phrack.com/issues.html?issue=59&id=14#article

如果您正在尝试运行蜜罐,那么一定要试试 Sebek:
https ://projects.honeynet.org/sebek/

Sebek 是一种数据捕获工具,旨在捕获攻击者在蜜罐上的活动,而攻击者(希望)不知道它。它有两个组成部分。第一个是在蜜罐上运行的客户端,其目的是捕获所有攻击者的活动(击键、文件上传、密码),然后秘密地将数据发送到服务器。第二个组件是从蜜罐收集数据的服务器。服务器通常运行在 Honeywall 网关上,但也可以独立运行。有关 Sebek 的更多信息,请参阅 http://www.honeynet.org/tools/sebek

但是,如果您宁愿遵循脚本小子路线/不学习,请尝试以下应用程序:

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

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


ADVICE: You're better off writing your own for learning-and-profit purposes.

于 2010-01-15T19:16:24.713 回答