为什么seq号设置为随机的,TCP连接会有更安全?

网络工程 tcp 联网
2022-02-26 02:07:57

来自TCP 文档

我读过这个:

首先,客户端发送一个TCP数据包,其中_SYN=1,ACK=0,ISN(Sequence Number)=5000_。不要忘记,序列号是随机的,它可以在 0 到 4,294,967,295 之间。

我有一些疑问,

  1. 为什么seq号设置为随机,会有更安全?

  2. 通常是SYN = 1吗?可以将其设置为任何随机数,如 seq 数吗?如果可以,会不会有更多的小保护?

1个回答

基本上有几个原因:

  1. 安全性:任何过于可预测的东西都可能被用于欺骗目的
  2. 多会话干扰。如果所有会话都从 1 开始它们的序列号,那么在您混合来自两个主机之间的各种会话的数据包的情况下会更容易结束(尽管有其他措施可以避免这种情况,例如随机化源端口) .