VPC 流日志中的 TCP 控制位 0 意味着什么?

问题描述 投票:0回答:3

我知道tcp中的控制位定义了TCP连接的标志,如SYN、FIN、ACK。但从我的网络流量来看,有时某些数据包控制位为 0(未设置)。

这种行为意味着什么?

tcp amazon-vpc tcpdump
3个回答
1
投票

这些是TCP 段的标志,而不是连接。

当标志位未设置时,表示缺少为相应标志定义的含义和行为。


0
投票

这意味着 ACK 并且仅设置了 ACK 标志。 RFC 说 ACK 是 16,但是当与另一个标志(例如 )结合使用时,它只是 16。 SYN/ACK (18)、FIN/ACK (17)。标志值 0 也可能表示“空”扫描。

如果您看到值为 2 的流记录,并且其中有 8 个数据包,则意味着同时存在 SYN 数据包和 ACK 数据包。

如果您看到 18 并且流中存在超过 1 个数据包,则意味着至少有一个 SYN/ACK,其余均为 ACK。


0
投票

AWS 在其帮助文章 “使用 VPC 流日志记录 IP 流量” 部分中部分回答了这个问题 “流日志记录:可用字段”(重点是我的)。

以下 TCP 标志的位掩码值:

  • FIN — 1
  • SYN — 2
  • RST — 4
  • SYN-ACK — 18

如果没有记录支持的标志,则 TCP 标志值为 0。

TCP 标志可以在聚合间隔期间进行“或”运算。对于短连接,可以在流日志记录中的同一行上设置标志,例如,19 表示 SYN-ACK 和 FIN,3 表示 SYN 和 FIN。有关示例,请参阅 TCP 标志序列

有关 TCP 标志的一般信息(例如 FIN、SYN 和 ACK 等标志的含义),请参阅维基百科上的TCP 段结构

换句话说,您收到的消息不是四个预期标志之一(

FIN
SYN
RST
SYN-ACK
)。

© www.soinside.com 2019 - 2024. All rights reserved.