Maison >développement back-end >Tutoriel Python >Écrire un programme de surveillance informatique en Python
Suite au suivi des comportements frivoles tels que jouer à des jeux et regarder des vidéos, la tendance des travailleurs à quitter leur emploi sera également surveillée. Récemment certains internautes ont déclaré que leur entreprise avait installé un système de détection comportementale, qui permet de connaître à l'avance les intentions des employés de changer d'emploi.
Pendant un certain temps, il y a eu des discussions interminables sur "c'est trop difficile de travailler en tant que travailleur" et "pas d'intimité du tout".
Certains amis ont demandé : ce type de surveillance est-il techniquement réalisable ? Est-ce compliqué ? Aujourd'hui, je vais vous montrer comment utiliser quelques lignes de code Python pour surveiller les opérations sur votre ordinateur.
Si l'entreprise exécute secrètement un processus en arrière-plan sur notre ordinateur pour surveiller nos événements de clavier, la méthode d'écriture python la plus simple ressemble à ceci :
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()
Appuyez sur le clavier à volonté et vous serez contrôlé depuis Le la station a vu cette sortie :
Le contenu du code est composé de deux méthodes, l'une consiste à écouter les événements clés et l'autre à écouter les événements de sortie - en tapant sur ESC
Appuyez et relâchez pour quitter. 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 这个模块来记录日志。
整个代码如下:
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
pynput
Ce module python montre comment enregistrer les opérations du clavier et de la souris. Ces lignes de code simples sont réalisables pour une surveillance simple des entrées, mais pour les instructions complexes telles que les enregistrements de discussion, vous devez toujours utiliser le traitement du langage NLTK pour les journaux afin de restaurer vos enregistrements de discussion. 🎜🎜Bien sûr, nous discutons ici uniquement de la faisabilité technique. Veuillez ne rien faire qui puisse nuire à la vie privée d'autrui. D'ailleurs, avec ce seul code, d'autres remarqueront d'un coup d'oeil qu'il y a un programme d'enregistrement des opérations...🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!