首页 > 解决方案 > 使用 Python 捕获环回流量

问题描述

如何在 Python 中捕获环回流量,使用 Wireshark 我能够观察到如下通信: 在此处输入图像描述

在这种情况下,我想成为“中间人”。当我试图在我的系统中制作 Trace32 调试器的模拟器时。

2020 年 8 月 10 日编辑:

我试过下面的代码,但收到错误,看来我们不能重用同一个端口:

OSError: [WinError 10048] 每个套接字地址(协议/网络地址/端口)通常只允许使用一次

import socket

UDP_IP = "127.0.0.1"
DEBUG_PORT = 20000
MASTERPORT = 53180
MESSAGE = b"TRACE32 C"

mastersock = socket.socket(socket.AF_INET, # Internet
                     socket.SOCK_DGRAM) # UDP 
debugsock = socket.socket(socket.AF_INET, # Internet
                      socket.SOCK_DGRAM) # UDP
debugsock.bind((UDP_IP, DEBUG_PORT))

while True:
    
    data, addr = debugsock.recvfrom(1024) # buffer size is 1024 bytes
    print("Listen on Debugger port: %s" % data)
    if (data):
        print ("Send back response to Master")
        mastersock.sendto(MESSAGE, (UDP_IP, MASTERPORT))

标签: pythonsimulator

解决方案


推荐阅读