最后,我设法通过增加ACK的最终SEQ号来解决此问题。
from scapy.all import *sport = random.randint(1024,65535)# SYNip=IP(src='172.16.120.5',dst='172.16.100.101')SYN=TCP(sport=sport,dport=443,flags='S',seq=1000)SYNACK=sr1(ip/SYN)# SYN-ACKACK=TCP(sport=sport, dport=443, flags='A', seq=SYNACK.ack + 1, ack=SYNACK.seq + 1)send(ip/ACK)
这是一个显示行为的tcpdump …
20:47:54.226591 IP 172.16.120.5.55348 > 172.16.100.101.443: S 1000:1000(0) win 819220:47:54.227220 IP 172.16.100.101.443 > 172.16.120.5.55348: S 4265040634:4265040634(0) ack 1001 win 18484 <mss 1460>20:47:54.317452 IP 172.16.120.5.55348 > 172.16.100.101.443: . ack 4265040635 win 8192



