首頁 >後端開發 >Python教學 >用 Python 寫一個電腦監控程式

用 Python 寫一個電腦監控程式

WBOY
WBOY轉載
2023-04-11 21:46:331795瀏覽

用 Python 寫一個電腦監控程式

繼打遊戲、看影片等摸魚行為被監控後,現在打工人離職的傾向也會被監控。最近有網友表示,所在企業安裝了行為感知系統,該系統可以提前獲知員工跳槽念頭。

一時間,「打工人太難了」「毫無隱私可言」的討論層出不窮。

有些小夥伴就問了:這種監控技術上可行嗎?複雜嗎?今天就帶大家嘗試用幾行 Python 程式碼,監控電腦上的操作。

監控鍵盤

如果公司偷偷在我們的電腦上運行了一個後台進程,來監控我們的鍵盤事件,最簡單的python 寫法大致是這樣的:

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


隨意敲擊鍵盤,你就會從控制台看到這樣的輸出:

用 Python 寫一個電腦監控程式

程式碼內容就是兩個方法,一個是監聽按鍵事件,另一個是監聽退出事件-敲擊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()


這段程式碼主要是監聽滑鼠的左右鍵點擊操作,運行之後操作滑鼠,就可以看到控制台印出如下結果:

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


運行之後,你就可以在同級目錄下的日誌檔案中,看到這樣的內容了:

用 Python 寫一個電腦監控程式

總結

本文主要透過pynput 這個python 模組,示範怎麼記錄鍵盤和滑鼠的操作。這幾行簡單的程式碼對於簡單的輸入監控是可行的,但是對於聊天記錄之類的複雜語句,你還需要針對日誌用 NLTK 語言處理,才能復原你的聊天​​記錄。

當然,我們這裡只是從技術上討論可行性,各位切莫做有損別人隱私的事情。再說了,光憑這個程式碼,別人一眼就會發現有程式在記錄操作…

以上是用 Python 寫一個電腦監控程式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除