Nach der Überwachung leichtfertiger Verhaltensweisen wie Spielen und Ansehen von Videos wird auch die Tendenz der Arbeitnehmer, ihren Arbeitsplatz aufzugeben, überwacht. Kürzlich sagten einige Internetnutzer, dass ihr Unternehmen ein Verhaltenserkennungssystem installiert habe, das die Absichten der Mitarbeiter, den Arbeitsplatz zu wechseln, im Voraus erkennen könne.
Eine Zeit lang gab es endlose Diskussionen über „es ist zu schwierig, als Arbeiter zu arbeiten“ und „überhaupt keine Privatsphäre“.
Einige Freunde fragten: Ist diese Art der Überwachung technisch machbar? Komplex? Heute zeige ich Ihnen, wie Sie mit ein paar Zeilen Python-Code die Vorgänge auf Ihrem Computer überwachen.
Wenn das Unternehmen heimlich einen Hintergrundprozess auf unserem Computer ausführt, um unsere Tastaturereignisse zu überwachen, sieht die einfachste Python-Schreibmethode ungefähr so aus:
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()
Tippen Sie nach Belieben auf die Tastatur, und Sie werden von The aus gesteuert Station hat diese Ausgabe gesehen:
Der Inhalt des Codes besteht aus zwei Methoden: Eine besteht darin, auf Schlüsselereignisse zu warten, und die andere darin, auf Exit-Ereignisse zu warten – Tippen auf ESC
Zum Verlassen drücken und loslassen. 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
Dieses Python-Modul zeigt, wie Tastatur- und Mausoperationen aufgezeichnet werden. Diese einfachen Codezeilen sind für eine einfache Eingabeüberwachung machbar, aber für komplexe Anweisungen wie Chat-Aufzeichnungen müssen Sie immer noch die NLTK-Sprachverarbeitung für die Protokolle verwenden, um Ihre Chat-Aufzeichnungen wiederherzustellen. 🎜🎜Natürlich diskutieren wir hier nur die technische Machbarkeit. Bitte tun Sie nichts, was die Privatsphäre anderer beeinträchtigt. Außerdem werden andere allein mit diesem Code auf einen Blick erkennen, dass es sich um ein Programm handelt, das Vorgänge aufzeichnet ... 🎜Das obige ist der detaillierte Inhalt vonSchreiben Sie ein Computerüberwachungsprogramm in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!