![RST 数据包是否需要有确认号?](https://linux22.com/image/1487175/RST%20%E6%95%B0%E6%8D%AE%E5%8C%85%E6%98%AF%E5%90%A6%E9%9C%80%E8%A6%81%E6%9C%89%E7%A1%AE%E8%AE%A4%E5%8F%B7%EF%BC%9F.png)
我正在研究 TCP 重置攻击。我知道有些 RST 数据包有确认号(设置了 ACK 位),而有些 RST 数据包没有确认号(确认号设置为 0,ACK 位未设置)。
现在,如果有人要发送伪造的 RST 数据包,是否存在需要 RST 数据包有一个确认号的情况,或者没有确认号的 RST 数据包是否总是有效?
答案1
是的,您确实需要序列号。序列号在整个连接过程中使用。除其他事项外,要求使用带有重置的序列号可防止人们使用重置标志欺骗 tcp 数据包以关闭长时间运行的连接(例如与数据库服务器的连接)。