Scapy: sr1 не может обнаружить ответ - PullRequest
0 голосов
/ 25 мая 2020

Scapy: sr1 не может обнаружить ответ Я использую scapy для открытия и закрытия TCP-сокета.

from scapy.all import *

seq = random.randint(5000,10000)
sport=random.randint(1024,65535)
dport=7

ip_packet = IP(dst="192.168.1.10")

# SYN
syn_packet = TCP(sport=sport,dport=dport, flags='S', seq=seq, window=9600)
synack = sr1(ip_packet/syn_packet)

#send final ACK
ACK=TCP(sport=sport, dport=dport, flags="A", seq=synack.ack, ack=synack.seq+1, window=9600)
res = send(ip_packet/ACK)

#now lets close the connection...

# FIN
fin_packet = TCP(sport=sport,dport=dport, flags='F', seq=synack.ack, window=9600)
finack =sr1(ip_packet/fin_packet) #hangs

lastack=TCP(sport=sport,dport=dport, flags='A', seq=finack.ack, ack=finack.seq+1)
send(ip_packet/lastack)

Во время открытия сокета первый вызов sr1 (synack = sr1 ...) работает нормально . Пакет SA отправляется обратно, и команда разблокируется.

Во время закрытия сокета вызов sr1 зависает, хотя в wirehark я вижу ответ ACK на пакет FIN.

мысли?

...