Я посылаю этот пользовательский пакет через TCP сокетКак отправить один и тот же (дублированный) 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), будет принят только один пакет, остальные будут отмечены как [TCP Retransmission] в Wireshark.
Как я могу отправить пакет более одного раза в один и тот же сокет?
У меня нет опыта, но я думаю, вам нужно будет изменить атрибут id этого пакета, чтобы нижняя кладка IP-стека подумала, что это другой пакет. – meiamsome