前言

    今天有位同事和我吐槽关于公司 XX 的问题,我告诉他不要在公司电脑上说这些,因为很可能会被狙击,这位同事刚开始还不信,直到我写了这边文章,他才恍然大悟。

关于 pynput

    pynput 可以监控我们的键盘和鼠标。目前具有此类功能的库有很多,比如 pygame 等游戏库,但是当我们只需要监控键盘和鼠标时,它们就显得过于笨重了,我们可以选择轻量,快速的 pynput。

实例

键盘监控

    假设公司想要静默为我们的电脑常驻一个后台进程去实现监控我们的键盘输入并记录下来,他们大概可以这样做:

from pynput import keyboarddef on_press(key):print(f'{key} :pushed')def on_release(key):#print(f'{key} released')if key == keyboard.Key.esc:# Stop listenerreturn Falsewith keyboard.Listener(on_press=on_press,on_release=on_release) as lsn:lsn.join()
复制代码

控制台打印:                   

鼠标监控

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!')# Collect events until released
with mouse.Listener(on_click=on_click) as listener:listener.join()
复制代码

控制台打印:                   

你会发现,每条打印都被打印了两次,这是因为按下去和抬起来都会触发鼠标事件。

监控并记录到日志文件

from pynput import keyboard,mouse
from loguru import logger
from threading import Thread# 定义日志文件
logger.add('demo.log')
def on_press(key):logger.debug(f'{key} :pushed')def on_release(key):#print(f'{key} released')if key == keyboard.Key.esc:# Stop listenerreturn False# 定义f1用于线程1
def f1():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 Falseelse:logger.debug('mid was pressed!')# 定义f2用于线程2
def f2():# Collect events until releasedwith mouse.Listener(on_click=on_click) as listener:listener.join()if __name__ == '__main__':# 起两个线程分别监控键盘和鼠标t1 = Thread(target=f1)t2 = Thread(target=f2)t1.start()t2.start()
复制代码

查看日志内容:   

    如上,我们的键盘操作全部已经被记录,通过对这个日志文件进行简单的 NLTK 语言处理,就能复原你的聊天记录。

以上就是今天的全部内容了,感谢您的阅读,我们下节再会。


    如果对软件测试、接口测试、自动化测试、持续集成、面试经验。感兴趣  可以进到806549072,群内会有不定期的分享测试资料。还会有技术大牛,业内同行一起交流技术

你的聊天记录是怎么被公司监控的?相关推荐

  1. 在公司用手机通过4G网络上网,上网内容可能被公司监控吗?

    我是小z 之前有分享过一篇:公司能不能监控到微信聊天? 今天再聊聊在公司用手机通过4G网络上网,上网内容可能被公司监控吗? 如果视频监控也算技术手段,公司可以监控到你上班一直在刷手机.至于上网内容取决 ...

  2. 公司如何监控员工电脑(公司监控员工电脑的必要性)

    在现代企业中,监控员工电脑已成为一种常见的做法.随着技术的进步和信息安全的重要性,公司越来越关注员工在工作时间内的电脑使用情况.本文将探讨公司监控员工电脑的必要性.合法性以及如何平衡监控和员工隐私权的 ...

  3. 公司监控员工电脑能看到什么?

    在日常办公时,常常出现网络泄密的情况,公司为保障网络安全部署了电脑监控软件,会在开机时就自动启动,全程在后台运行,不影响正常使用.那么电脑监控软件到底能监控到哪种程度?能看到哪些内容?会不会涉及员工个 ...

  4. 好公司管理,差公司监控

    原文标题:What Are an Employer's Alternatives to Monitoring Employees Online? 原文作者: SUSAN M. HEATHFIELD 译 ...

  5. 公司监控显示无网络连接服务器,监控显示无网络视频什么原因

    大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. 监控显示无网络视频的原因有:接口接触不良:监视器出现故障:产品不合格:由于电压不稳摄像头被烧坏:设备连接错误:监控卡坏了:驱动没装 ...

  6. 关于安装公司监控软件后导致Mac电脑需要每天重启4次才能连网的解决办法

    每天凌晨我的电脑突然无法上网,排查了一个月,op说是网关的问题,其实不是,差点花4000多去苹果售后维修... 自己想了半天,从晚上到第二天凌晨.发现是Charles代理的问题,解决办法: 网络-高级 ...

  7. 公司电脑怎么监控?合法吗?

    由于现在办公基本上都是使用电脑,且很多员工上班摸鱼时没有防范意识,浏览网页时盲目下载东西,导致公司电脑中病毒,过多的垃圾软件也会占据电脑内存和流量,影响运行速度.因此出现了很多电脑监控系统,监管员工在 ...

  8. 硅谷独角兽公司的监控系统长啥样?

    前言 不同的业务场景中我们对各个运维系统的需求也是不同的,Pinterest是来自于硅谷的初创公司,在他们成长的过程中一步步对运维系统进行改进和升级,如今的Pinterest 的监控系统更是实现了监控 ...

  9. 公司如何监控员工电脑屏幕?

    公司监控员工电脑屏幕如何实现?如何监控员工的电脑已经成为时下管理者最想了解的事情.互联网本来就具有双面性,给企业带来丰厚资源提升办公效率的同时,也让企业面临着来自网络的安全威胁,对公司来说,没有网络安 ...

最新文章

  1. 小米miui系统怎么关闭文件管理里的热门视频和表情?
  2. python字符串字面量有哪四种定义方式_Python学习笔记(四)字符串型
  3. Bailian4074 积水量【序列处理】
  4. android libpng16,Android NDK 开发之 CMake 编译 libpng
  5. 【读书笔记】《CSS新世界》—— 第一章 概述
  6. Redis 下载与安装(Windows版)
  7. IntelliJ IDEA自带接口测试工具
  8. jenkins学习与实战
  9. ElementUI全局配置message的弹窗时间
  10. 我的世界基岩版红石教程(超简单)2
  11. macOS开发中用TagLib获取、修改音频文件信息
  12. linux执行sudo报错【/etc/sudo.conf is owned by uid 994, should be 0】
  13. Ensight 操作技巧
  14. Redis底层数据结构介绍
  15. 51单片机数码管滚动显示学号_数协微课 | LED数码管与51单片机应用
  16. centos7安装yum命令,yum命令被玩坏了怎么办?
  17. 移动硬盘无法弹出,显示被进程占用(system占用)
  18. 《嵌入式系统 – 玩转ART-Pi开发板(基于RT-Thread系统)》第9章 基于Select/Poll实现并发服务器(二)
  19. 给大家介绍下,这是我的流程图软件 —— draw.io
  20. 07_02 事件的基本事件

热门文章

  1. css样式超出部分省略号
  2. Endpoint Central的IT资产管理(ITAM)
  3. 万木成林,我种了“Vue技能树”
  4. Webpack打包-打包详细流程
  5. 在SMT贴片加工设备具有哪些优势?
  6. [转载]如何解决failed to push some refs to git
  7. python做动态数据采集仪代理_九四采集器(py/python)采集器设置动态代理IP图文教程...
  8. MS CASTEP模块的计算原理和功能
  9. 必备技能13:如何白嫖Scribd上的pdf文件
  10. kernel:max92xx加串解串示例代码[可读取16位寄存器地址]