这问题指出 RST 数据包的确认号应为 0,但是当我使用 Wireshark 捕获一些 HTTP 数据包时,我发现它不是 0。
那么 RST 数据包的确认号何时包含非 0 的值?
答案1
当数据包是对前一个数据包的确认时,确认号完成。在这种情况下,ACK 位被设置。
您可以有一个 ACK 数据包,它也是一个 RST 数据包。它既确认了前一个数据包,又发出信号表示应该重置 TCP 会话。
这被称为 RST/ACK 数据包(只是因为 ACK 和 RST 位被设置了)。
这问题指出 RST 数据包的确认号应为 0,但是当我使用 Wireshark 捕获一些 HTTP 数据包时,我发现它不是 0。
那么 RST 数据包的确认号何时包含非 0 的值?
当数据包是对前一个数据包的确认时,确认号完成。在这种情况下,ACK 位被设置。
您可以有一个 ACK 数据包,它也是一个 RST 数据包。它既确认了前一个数据包,又发出信号表示应该重置 TCP 会话。
这被称为 RST/ACK 数据包(只是因为 ACK 和 RST 位被设置了)。