如何在 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,因此它们是相同的数据包,因此被丢弃。
我正在通过 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,因此它们是相同的数据包,因此被丢弃。