如何在 python 中发送相同(重复)的 TCP 数据包

How to send the same (duplicate) TCP packet in python

我正在通过 TCP 套接字发送此自定义数据包

pkt = IP(len=16384, src='192.168.240.243', dst=ip,
        id=RandShort(), ttl=64)/TCP(sport=5000,
        dport=5000, flags="S", window=200,
        options=[('MSS', 1460), ('WScale', 2)])/CustomLayer(type=1, update=2)/"SENT"

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:    
    s.connect((ip, 5000))
except socket.error:
    print 'User not connected'

spkt = str(pkt)
s.send(spkt)

数据包发送和接收正确,但我不能发送多个。例如,如果我尝试在一段时间内包含它(i<10),则只收到一个数据包,其他数据包在 Wireshark 中被标记为 [TCP Retransmission]。

如何在同一套接字内多次发送数据包?

您的数据包具有相同的 ID,因此它们是相同的数据包,因此被丢弃。