利用Python写个摸鱼监控进程

目录
  • 监控键盘
  • 监控鼠标
  • 记录监控日志
  • 完整代码
  • 总结

继打游戏、看视频等摸鱼行为被监控后,现在打工人离职的倾向也会被监控。

有网友爆料称知乎正在低调裁员,视频相关部门几乎要裁掉一半。而在知乎裁员的讨论区,有网友表示企业安装了行为感知系统,该系统可以提前获知员工跳槽念头。

而知乎在否认了裁员计划的同时,也声明从未安装使用过网上所说的行为感知系统,今后也不会启用类似软件工具。

因为此事,深信服被推上风口浪尖,舆论关注度越来越高。

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

今天就带大家领略一下怎么写几行 Python 代码,就能监控电脑。

监控键盘

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

from pynput import keyboard

def on_press(key):
    print(f'{key} :pushed')

def on_release(key):
    if key == keyboard.Key.esc:
        return False

with keyboard.Listener(on_press=on_press, on_release=on_release) as lsn:
    lsn.join()

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

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

监控鼠标

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

from pynput import mouse

def 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 False
    else:
        print('mid was pressed!')

# 定义鼠标监听线程
with mouse.Listener(on_click=on_click) as listener:
    listener.join()

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

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

记录监控日志

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

整个代码如下:

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()

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

完整代码

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
@author: 闲欢
"""
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!')
        return False
    else:
        logger.debug('mid was pressed!')

# 定义鼠标监听线程
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写个摸鱼监控进程的详细内容,更多关于Python摸鱼监控进程的资料请关注我们其它相关文章!

(0)

相关推荐

  • 基于python的Linux系统指定进程性能监控思路详解

    监控Linux服务器的工具.组件和程序网上有很多,但是一台服务器上会有很多进程同时运行,特别是做性能测试的时候,可能一台服务器上部署多个服务,如果只监控整个服务器的CPU和内存,当某个服务出现性能问题时,并不能有效准确的定位出(当然通过其他工具也可以实现),因此,很有必要只监控指定的进程.需求明确了,于是动手撸了一个性能监控脚本. 一.整体思路 1.为了方便的启动监控和停止监控,在想查看监控结果的时候随时查看监控结果,用flask开启了一个服务,通过发送get请求可以随时启停监控和查看监控结果.

  • python监控进程脚本

    本文实例为大家分享了python监控进程脚本的具体代码,供大家参考,具体内容如下 原理: 监控一个指定进程,每隔5秒钟获取其CPU.内存使用量超过60%即kill掉该进程,获取其句柄数,超过300也kill掉该进程 运行环境是windows 64位系统+python 2.7 64位 ,这里需要使用到psutil 类库,要另外安装.脚本里面可以自动安装,前提是你已经下载好了安装包psutil-3.3.0.win-amd64-py2.7.exe 下面看代码: #!/usr/bin/env pytho

  • python脚本监控logstash进程并邮件告警实例

    supervisor虽然也能拉起来logstash进程,但是有时候supervisor也会挂,也有时会拉不起,就算拉起来了也没有邮件告警功能 ,所以编写一个python脚本监控所有服务器,以下代码只列举了一台服务器,需要更多服务器在列表里面添加就行! (日志采集过程中连续几天数据异常,由于服务器太多,当时不太想一一去将近40台服务器查看logstash进程,但又一直查不出原因,后来就每台服务器查看logstash进程,果然发现3台采集搜索日志的logstash进程没了,然后就编写了此脚本监控,效

  • python3实现windows下同名进程监控

    python3实现windows下同名进程监控,供大家参考,具体内容如下 公司老版的SVN服务器的svn服务经常意外关闭,需要写个简单的监控脚本监控一下: 首先多个SVN服务使用不同的端口,使用wmic命令查看所有SVN进程占用的端口以此来判断目标服务是否存活,wimc命令如下: wmic process where caption="svn.exe" get commandline /value 然后用正则取出标准输出中的端口,用来比对: def get_alive_port(pro

  • python实现监控指定进程的cpu和内存使用率

    为了测试某个服务的稳定性,通常需要在服务长时间运行的情况下,监控其资源消耗情况,比如cpu和内存使用 这里借助python的psutil这个包可以很方便的监控指定进程号(PID)的cpu和内存使用情况 代码 process_monitor.py import sys import time import psutil # get pid from args if len(sys.argv) < 2:     print ("missing pid arg")     sys.ex

  • 利用Python写个摸鱼监控进程

    目录 监控键盘 监控鼠标 记录监控日志 完整代码 总结 继打游戏.看视频等摸鱼行为被监控后,现在打工人离职的倾向也会被监控. 有网友爆料称知乎正在低调裁员,视频相关部门几乎要裁掉一半.而在知乎裁员的讨论区,有网友表示企业安装了行为感知系统,该系统可以提前获知员工跳槽念头. 而知乎在否认了裁员计划的同时,也声明从未安装使用过网上所说的行为感知系统,今后也不会启用类似软件工具. 因为此事,深信服被推上风口浪尖,舆论关注度越来越高. 一时间,“打工人太难了”“毫无隐私可言”的讨论层出不穷. 今天就带大

  • 利用Python写个简易版星空大战游戏

    目录 前言 一.游戏画面 二.游戏结束画面 三.游戏素材 四.游戏代码 五.核心代码 1.导入模块 2.动态星空背景函数 3.不定时产生敌机函数 4.飞碟的移动 5.子弹的移动 6.玩家射击函数 7.播放背景音乐与生成声效对象 8.新建屏幕 9.移动图章实现星星 10.哭脸 11.玩家 12.飞碟移动与子弹移动 13.敌机的碰撞检测 14.闯关成功把子弹删除 六.总结 前言 通过辣条最近观察,大家好像对划水摸鱼是情有独钟啊.于是乎我重操旧业又写上了这么一个简单版的星空大战小游戏. 当然了辣条的初

  • 利用Flutter制作一个摸鱼桌面版App

    目录 准备工作 开始敲代码 找到资源 思考布局 实现布局 思考动画 实现动画 结语 Win10商店上架了一款名为<摸鱼>的App,在下载打开之后,这个App会让你的电脑进入一个假更新的画面,让别人以为你的电脑正在升级,这时候你就可以休息一下,优雅地喝一杯咖啡.  顿时这个念头划过了我的脑海:好东西,但是我用的是 MacBook,不能用这个应用.但是貌似我可以自己写一个? 准备工作 年轻最需要的就是行动力,想到就干,尽管我此刻正在理顺 DevFest 的讲稿,但丝毫不妨碍我用 10 分钟写一个

  • 基于Python绘制一个摸鱼倒计时界面

    目录 前言 实现过程 前言 前段时间在微博看到一段摸鱼人的倒计时模板,感觉还挺有趣的. 于是我用了一小时的时间写了个页面出来 摸鱼办地址 (当然是摸鱼的时间啦). 模板是这样的: 摸鱼办公室 [摸鱼办公室]今天是 2021-11-30 星期二 你好,摸鱼人,工作再累,一定不要忘记摸鱼哦 ! 有事没事起身去茶水间去廊道去天台走走,别老在工位上坐着.多喝点水,钱是老板的,但命是自己的 ! 距离 周末 放假还有 2 天 距离 元旦 放假还有 3 天 距离 过年 放假还有 34 天 距离 清明节 放假还

  • 利用Python实现手机短信监控通知的方法

    日常运维工作中,通常是邮件报警机制,但邮件可能不被及时查看,导致问题出现得不到及时有效处理.所以想到用Python实现发短信功能,当监控到问题出现时,短信报警,使问题能得到及时的处理.当然,我相信,用Python发短信应用场景不止此一处,下面我们开始Python发短信的实现. 首先,看下成果展示: 然后,看下代码实现: 是不是非常简单! 现在开始具体讲解,如何实现Python发短信功能. 操作步骤 1.安装模块 twilio pip install twilio 2.申请获得twilio的API

  • 如何利用Python写个坦克大战

    前言 坦克大战是一款策略类的平面射击游戏,于 1985 年由 Namco 游戏公司发布,尽管时至今日已经有了很多衍生类的游戏,但这款游戏仍然受到了相当一部分人的欢迎,本文我们看一下如何使用 Python 来实现这款游戏,游戏实现主要用到的 Python 库为 pygame. 简介 坦克大战的组成主要包括:场景.坦克.子弹.食物.大本营,其本质就是一个塔防类的游戏,游戏目标为:守住大本营并且消灭敌方坦克,通常支持单双人模式,下面我们来看一下具体实现. 实现 首先,我们来实现游戏场景,场景的组成主要

  • 如何利用python写GUI及生成.exe可执行文件

    目录 一.GUI(Graphical User Interface(图形用户接口)) 1.导入需要用到的包 2.获取文件夹中所有图片 3.定义一个类windows 4.创建窗口和frame 5.定义需要用到的函数(下一页.上一页等按钮要用到的) 6.创建按钮.画布,调用主程序 效果展示 完整代码 二.生成exe文件 1.安装pyinstaller 2.打包python程序 3.运行exe文件 4.常用命令参数 效果展示 执行exe应用 总结 一.GUI(Graphical User Interf

  • 利用Python写了一个水果忍者小游戏

    目录 前言: 一.需要导入的包 二.窗口界面设置 三.随机生成水果位置 四.绘制字体 五.玩家生命的提示 六.游戏开始与结束的画面 七.游戏主循环 最后 前言: 水果忍者到家都玩过吧,但是Python写的水果忍者你肯定没有玩过.今天就给你表演一个新的,用Python写一个水果忍者.水果忍者的玩法很简单,尽可能的切开抛出的水果就行. 今天就用python简单的模拟一下这个游戏.在这个简单的项目中,我们用鼠标选择水果来切割,同时炸弹也会隐藏在水果中,如果切开了三次炸弹,玩家就会失败. 一.需要导入的

  • 利用python写api接口实战指南

    目录 一.操作步骤 二.源码举例 总结 一.操作步骤 导入:import flask,json 实例化:api = flask.Flask(name) 定义接口访问路径及访问方式:@api.route(’/index’,methods=[‘get/post/PUT/DELETE’]) 定义函数,注意需与路径的名称一致,设置返回类型并支持中文:def index(): return json.dumps(ren,ensure_ascii=False) 三种格式入参访问接口:5.1 url格式入参:

  • 利用Python上传日志并监控告警的方法详解

    目录 1.准备 2.使用阿里云SDK上传Python日志 3.配置日志告警 在我们的日常生活工作中,经常会遇到需要上传日志的场景,比如多台机器运行同一个程序,并且需要记录每台机器程序产生的日志,根据相关关键词告警,或者进行无数据告警,如果自己搭建这套系统需要耗费不少时间,因此如果能使用市面上现成的系统会很方便. 本文将教你如何通过阿里云日志服务搭建一套通过Python上传日志.配置日志告警的监控服务. 1.准备 开始之前,你要确保Python和pip已经成功安装在电脑上,如果没有,可以访问这篇文

随机推荐