通过Scapy中的StreamSocket发送数据包没有校验和

时间:2014-04-17 06:55:12

标签: sockets tcp scapy

我想在Scapy中使用Raw Socket进行3次握手。在Wireshark上,我通过StreamSocket发送的SYN数据包没有校验和(它为0)。

我试过这种方式:

s=socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_TCP)
s.connect((IP_ConfigParam.TCP_DEVICE_IP, IP_ConfigParam.TCP_DESTINATION_PORT))
ss=StreamSocket(s)
syn = TCP(sport=IP_ConfigParam.TCP_SOURCE_PORT, dport=IP_ConfigParam.TCP_DESTINATION_PORT, flags="S")
#Recompute packet checksum
dummypacket=IPheader()/syn
del dummypacket[TCP].chksum
dummypacket.show2()
synack = ss.sr1(syn)

就这样:

del syn.chksum
syn = syn.__class__(str(syn))

但他们都没有工作。在第一个例子中,show2()输出显示计算的TCP校验和,但是当我看到SYN数据包有校验和0时,在wireshark上。

当我尝试打印dummypacket [TCP] .chksum时,它显示无。我怎样才能提取chksum字段?

0 个答案:

没有答案