scapy 3路握手

时间:2017-08-17 11:45:40

标签: python python-2.7 tcp scapy handshake

我正在尝试建立一个scapy 3路握手。但是当我发送一个响应SYN-ACK数据包的确认数据包时,我收到一个FA数据包,而不是完成3次握手。我的代码是。

from scapy.all import*

ip = IP(dst = "192.168.0.1")
syn = TCP(dport=35021, flags="S", seq=100)
synack = sr1(ip/syn, iface = "D-Link DUB-E100 USB 2.0 Fast Ethernet Adapter")
ack = TCP(dport=35021, flags="A", seq=101, ack=synack.seq+1)
ans=sr1(ip/ack, iface = "D-Link DUB-E100 USB 2.0 Fast Ethernet Adapter")

我最后收到的输出是,

>>> ans
<IP  version=4 ihl=5 tos=0x0 len=40 id=22653 flags=DF frag=0 ttl=64 proto=tcp chksum=0x6003 src=192.168.0.1 dst=192.168.0.254
options=[] |<TCP  sport=35021 dport=ftp_data seq=4141767969L ack=101 dataofs=5 reserved=0 flags=FA window=1500 chksum=0x4a61 u
rgptr=0 |<Padding  load='\x00\x00\x00\x00\x00\x00' |>>>

但是当我在ACK数据包中发送一些数据设置'flags = PA'时,我得到了对我发送的数据的正确响应。

不应该表现得像先完成3次握手然后发送数据吗? 我在Windows10上使用scapy和python 2.7以及scapy最新版本。

0 个答案:

没有答案