在 Windows Server 上更改 TCP/IP IPID 序列生成算法

在 Windows Server 上更改 TCP/IP IPID 序列生成算法

最近对客户网络服务器进行的安全审查得出了以下结果:

“[...] 测试中的系统使用增量 IP ID。这意味着每个传出的 IP 数据包都有一个递增的 ID 号,可用于隐形负载分析或针对第三方系统的所谓空闲扫描。[...]”

系统 hping 显示 ID 号不断增加:

$ sudo hping3 -c 3 --fast -p 80 -S xxx.xxx.xxx.xxx
HPING xxx.xxx.xxx.xxx (tun0 xxx.xxx.xxx.xxx): S set, 40 headers + 0 data bytes
len=44 ip=xxx.xxx.xxx.xxx ttl=122 DF id=14360 sport=80 flags=SA seq=0 win=8192 rtt=802.2 ms
len=44 ip=xxx.xxx.xxx.xxx ttl=122 DF id=14361 sport=80 flags=SA seq=1 win=8192 rtt=807.1 ms
len=44 ip=xxx.xxx.xxx.xxx ttl=122 DF id=14362 sport=80 flags=SA seq=2 win=8192 rtt=801.6 ms

系统是 Windows Server 2003 SP2(分别由多个负载平衡服务器组成)。
它可能不适合在空闲扫描中作为僵尸主机,因为它与空闲完全相反。但如果我们可以改变行为,我们想改变它。

我找不到任何关于 Windows TCP/IP 堆栈中 IPID 序列生成算法的文档,例如,它是仅按主机递增还是全局递增,或者行为是否随着 Windows 的更高版本而改变。
只有这一个补丁可用来改进 TCP 初始序列号随机性

有人能告诉我哪个版本的 Windows 使用哪种 IPID 序列生成算法的文档吗?
是否有任何选项可以更改 IPID 生成?

答案1

http://msdn.microsoft.com/en-us/library/ms819768.aspx 表示它确实已经生成了随机数。您说这实际上是“多个负载平衡服务器”。那么您要 ping 哪个 IP?那将是您想要查看的内容。

相关内容