和数据内容。

要实现这个功能,可以使用以下步骤:

  1. 使用 Python 的 socket 模块创建一个 TCP 或 UDP 的监听套接字。
  2. 在套接字上调用 listen() 方法开始监听端口。
  3. 使用 accept() 方法接受客户端连接请求,获得连接的套接字和客户端地址。
  4. 在连接的套接字上调用 recv() 方法接收数据包,并在接收到数据包时记录当前时间戳和数据内容。
  5. 将记录的时间戳和数据内容写入日志文件中,可以使用 Python 的 logging 模块进行日志记录。

下面是一个简单的示例代码:

import socket
import logging
import time

logging.basicConfig(filename='packet.log', level=logging.INFO)

HOST = 'localhost'  # 监听的主机名或 IP 地址
PORT = 12345  # 监听的端口号

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind((HOST, PORT))
sock.listen(1)

while True:
    conn, addr = sock.accept()
    logging.info(f'Connection from {addr}')

    while True:
        data = conn.recv(1024)
        if not data:
            break

        timestamp = time.time()
        logging.info(f'{timestamp}: {data.decode()}')

    conn.close()

这个代码监听 localhost 的 12345 端口,接收 TCP 连接。当有客户端连接上来时,会记录连接地址,并在接收到数据包时记录当前时间戳和数据内容,写入 packet.log 文件中。如果客户端关闭连接,会退出内层循环,关闭连接套接字。外层循环会继续监听端口,等待下一个客户端连接

NC 监听端口并保存数据包到日志文件每条数据包含接收的时间戳

原文地址: https://www.cveoy.top/t/topic/fimY 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录