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

时间:2015-11-22 10:10:01

标签: python sockets networking tcp scapy

我通过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]。

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

1 个答案:

答案 0 :(得分:1)

您的数据包具有相同的ID,因此它们是相同的数据包,因此作为重复数据丢弃。