如何区分确认 SYN/ACK 和确认数据?

如何区分确认 SYN/ACK 和确认数据?

有没有办法区分 ack 数据包(作为对 syn-ack 的响应)和连接期间(而不是握手期间)的 ack 数据包?有人告诉我,并非所有操作系统都将连接期间的 tcp 数据包标记为推送确认,而有些操作系统(或工具)在连接期间将 ack 数据包标记为推送,而不标记推送。

这合法吗?操作系统能容忍这种情况吗?(握手完成后无需推送即可确认数据包)?

附言:我没有保存数据包历史记录,所以我有一个确认数据包,需要弄清楚它是什么样的确认。

谢谢

答案1

不,这不是正确的方法,你肯定不会看到一致的行为。参见这里以便更好地了解 PSH 标志的用途。

如果您需要区分 ACK SYN/ACK 和 ACK 数据,您应该检查 TCP 序列号。

相关内容