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.
使用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.