Scapy 设置 tcp 流量 window 大于 65535

Scapy set tcp flow window bigger then 65535

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

packet1[TCP].window=65535

会将 window 设置为 65535;但是,如果需要将 windows 大小设置为大于 65535,则应以不同的方式设置,因为在 tcp header 中,window 字段只有两个字节,所以它不能' t 大于 65535,因此应该以其他方式完成。我知道这应该是可能的。

谢谢。

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

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

但是 TCP window 可以 高于 65535,使用 "Window Scale" 选项。 window 值是 window 字段的值乘以 2 的 window 比例值的幂。

在 Scapy 中:

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

值为65535 * 2 ** 10, 67107840.