1

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

packet1[TCP].window=65535

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

谢谢。

4

1 回答 1

2

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

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

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

在 Scapy 中:

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

值为65535 * 2 ** 10, 67107840。

于 2016-05-10T07:49:16.973 回答