当 TCP 标头中的 SYN 和 FIN 标志都设置为 1 时会发生什么?

网络工程 通讯协议 协议理论 第4层 传输协议
2021-07-24 18:22:10

在 TCP 头中,当 SYN 和 FIN 标志都设置为 1 时会发生什么?或者,两者甚至可以同时设置为 1 ?

3个回答

在正常的 TCP 行为中,它们不应在同一个数据包中都设置为 1(开)。许多工具可以让您制作 TCP 数据包,对 SYN 和 FIN 位设置为 1 的数据包的典型响应是 RST,因为您违反了 TCP 规则。

过去的一种攻击类型是将每个 Flags 设置为 1。那就是:

  • 随机数
  • CWR
  • 回声
  • 紧急
  • 确认
  • RST
  • 同步

IP 堆栈的一些实现没有正确检查并崩溃。它被称为圣诞树包

响应取决于操作系统的类型。

TCP头中设置的SYN和FIN标志的组合是非法的,属于非法/异常标志组合的范畴,因为它要求建立连接(通过SYN)和终止连接(通过FIN)。

TCP 的 RFC 中没有传达处理此类非法/异常标志组合的方法。因此,这种非法/异常标志组合在各种操作系统中的处理方式不同。不同的操作系统也会为此类数据包生成不同类型的响应。

这是安全社区非常关心的问题,因为攻击者将利用这些响应数据包来确定目标系统上的操作系统类型来进行攻击。因此,此类标志组合始终被视为恶意,现代入侵检测系统会检测此类组合以避免攻击。