Scapy设置tcp流窗口大于65535

时间:2016-05-09 18:18:49

标签: tcp scapy flow-control

使用scapy时,如何设置流量控制窗口大于65535的tcp包? 我知道用scapy写作:

packet1[TCP].window=65535

将窗口设置为65535;但是如果需要将窗口大小设置为大于65535,则应该以不同的方式设置它,因为在tcp头部,窗口字段只有两个字节,所以它不能比65535更好所以它应该完成用另一种方式。我知道这应该是可能的。

感谢。

1 个答案:

答案 0 :(得分:1)

排序答案是:您不能将字段 TCP.window设置为大于65535的值,因为它是以两个字节编码的:

>>> ls(TCP)
[...]
window     : ShortField                          = (8192)
[...]

但TCP窗口可以高于65535,使用“Window Scale”选项。窗口值是window字段的值乘以2增加到窗口比例值的幂。

在Scapy:

>>> IP()/TCP(window=65535, options=[('WScale', 10)])

值为65535 * 2 ** 10,67107840。