Rumah >pembangunan bahagian belakang >Tutorial Python >Tulis program pemantauan komputer dalam Python

Tulis program pemantauan komputer dalam Python

WBOY
WBOYke hadapan
2023-04-11 21:46:331795semak imbas

Tulis program pemantauan komputer dalam Python

Susulan pemantauan aktiviti memancing seperti bermain game dan menonton video, kecenderungan pekerja untuk meninggalkan pekerjaan mereka juga akan dipantau. Baru-baru ini beberapa netizen berkata bahawa syarikat mereka telah memasang sistem pengesan tingkah laku, yang boleh mengetahui terlebih dahulu niat pekerja untuk menukar pekerjaan.

Untuk sementara waktu, terdapat perbincangan yang tidak berkesudahan tentang "terlalu sukar untuk bekerja sebagai pekerja" dan "tiada privasi langsung".

Sesetengah rakan bertanya: Adakah pemantauan seperti ini boleh dilaksanakan secara teknikal? Kompleks? Hari ini saya akan menunjukkan kepada anda cara menggunakan beberapa baris kod Python untuk memantau operasi pada komputer anda.

Pantau papan kekunci

Jika syarikat secara rahsia menjalankan proses latar belakang pada komputer kami untuk memantau acara papan kekunci kami, kaedah penulisan ular sawa yang paling mudah adalah lebih kurang seperti ini:

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


Ketik papan kekunci sesuka hati, dan anda akan melihat output ini daripada konsol:

Tulis program pemantauan komputer dalam Python

Kandungan kod ialah dua kaedah, satu ialah mendengar peristiwa penting dan yang satu lagi adalah untuk mendengar acara keluar - tekan kekunci ESC dan lepaskannya untuk keluar.

Pantau tetikus

Jika anda masih mahu memantau acara tetikus, maka tambah sahaja kod ini:

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


Kod ini terutamanya untuk memantau klik kiri dan kanan operasi tetikus , selepas berjalan, kendalikan tetikus, dan anda boleh melihat hasil berikut dicetak pada konsol:

Tulis program pemantauan komputer dalam Python

Jika anda berhati-hati, anda pasti akan mendapatinya setiap peristiwa klik dicetak dua kali. Ini kerana kedua-dua menekan dan melepaskan peristiwa tetikus pencetus.

Rekodkan log pemantauan

Memandangkan terdapat acara papan kekunci dan acara tetikus, tiba masanya untuk menggabungkan kedua-duanya dan merekodkan operasi pengguna dalam log. Di sini kami menggunakan modul loguru untuk merekod log.

Keseluruhan kod adalah seperti berikut:

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


Selepas dijalankan, anda boleh melihat kandungan berikut dalam fail log dalam direktori yang sama:

Tulis program pemantauan komputer dalam Python

Ringkasan

Artikel ini terutamanya menggunakan modul python ​​pynput​​ untuk menunjukkan cara merakam operasi papan kekunci dan tetikus. Baris kod ringkas ini boleh dilaksanakan untuk pemantauan input mudah, tetapi untuk pernyataan kompleks seperti rekod sembang, anda masih perlu menggunakan pemprosesan bahasa NLTK untuk log memulihkan rekod sembang anda.

Sudah tentu, kami hanya membincangkan kemungkinan teknikal di sini. Tolong jangan lakukan apa-apa yang merosakkan privasi orang lain. Selain itu, dengan kod ini sahaja, orang lain akan melihat sepintas lalu bahawa terdapat operasi rakaman program...

Atas ialah kandungan terperinci Tulis program pemantauan komputer dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam