日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
用Python寫一個(gè)電腦監(jiān)控程序

繼打游戲、看視頻等摸魚行為被監(jiān)控后,現(xiàn)在打工人離職的傾向也會(huì)被監(jiān)控。最近有網(wǎng)友表示,所在企業(yè)安裝了行為感知系統(tǒng),該系統(tǒng)可以提前獲知員工跳槽念頭。

成都創(chuàng)新互聯(lián)2013年至今,先為振安等服務(wù)建站,振安等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為振安企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

一時(shí)間,“打工人太難了”“毫無(wú)隱私可言”的討論層出不窮。

有些小伙伴就問(wèn)了:這種監(jiān)控技術(shù)上可行嗎?復(fù)雜嗎?今天就帶大家嘗試用幾行 Python 代碼,監(jiān)控電腦上的操作。

監(jiān)控鍵盤

如果公司偷偷在我們的電腦上運(yùn)行了一個(gè)后臺(tái)進(jìn)程,來(lái)監(jiān)控我們的鍵盤事件,最簡(jiǎn)單的 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()


隨意敲擊鍵盤,你就會(huì)從控制臺(tái)看到這樣的輸出:

代碼內(nèi)容就是兩個(gè)方法,一個(gè)是監(jiān)聽按鍵事件,另一個(gè)是監(jiān)聽退出事件——敲擊 ESC 按鍵后釋放就退出了。

監(jiān)控鼠標(biāo)

如果還要監(jiān)聽鼠標(biāo)事件,那么上這段代碼就行了:

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!')


# 定義鼠標(biāo)監(jiān)聽線程
with mouse.Listener(on_click=on_click) as listener:
    listener.join()


這段代碼主要是監(jiān)聽鼠標(biāo)的左右鍵點(diǎn)擊操作,運(yùn)行之后操作鼠標(biāo),就可以看到控制臺(tái)打印如下結(jié)果:

細(xì)心的你一定會(huì)發(fā)現(xiàn),每次點(diǎn)擊事件,都打印了兩次。這是因?yàn)榘聪潞退砷_都會(huì)觸發(fā)鼠標(biāo)事件。

記錄監(jiān)控日志

鍵盤事件和鼠標(biāo)事件都有了,是時(shí)候?qū)⒍呓Y(jié)合起來(lái),把用戶的操作記錄到日志了。這里我們用 loguru 這個(gè)模塊來(lái)記錄日志。

整個(gè)代碼如下:

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


# 定義鍵盤監(jiān)聽線程
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


# 定義鼠標(biāo)監(jiān)聽線程
def click_thread():
    with mouse.Listener(on_click=on_click) as listener:
        listener.join()


if __name__ == '__main__':
    # 起兩個(gè)線程分別監(jiān)控鍵盤和鼠標(biāo)
    t1 = Thread(target=press_thread())
    t2 = Thread(target=click_thread())
    t1.start()
    t2.start()


運(yùn)行之后,你就可以在同級(jí)目錄下的日志文件中,看到這樣的內(nèi)容了:

總結(jié)

本文主要通過(guò) ??pynput?? 這個(gè) python 模塊,演示怎么記錄鍵盤和鼠標(biāo)的操作。這幾行簡(jiǎn)單的代碼對(duì)于簡(jiǎn)單的輸入監(jiān)控是可行的,但是對(duì)于聊天記錄之類的復(fù)雜語(yǔ)句,你還需要針對(duì)日志用 NLTK 語(yǔ)言處理,才能復(fù)原你的聊天記錄。

當(dāng)然,我們這里僅僅是從技術(shù)上討論可行性,各位切莫做有損別人隱私的事情。再說(shuō)了,僅憑這個(gè)代碼,別人一眼就會(huì)發(fā)現(xiàn)有程序在記錄操作……


當(dāng)前文章:用Python寫一個(gè)電腦監(jiān)控程序
網(wǎng)頁(yè)URL:http://www.5511xx.com/article/ccisece.html