更改数据包重放的 TCP 序列号?

更改数据包重放的 TCP 序列号?

首先,我使用 wireshark 进行捕获,使用 colaso​​ft 进行重放。我尝试重放一组捕获的数据包,循环执行多次(如果您想知道的话,这样做的目的只是发送在线游戏中的战斗重放来获取奖励)。

我读这里TCP/IP 会忽略序列号重复的数据包。那么,我的想法是否正确:每次发送此组数据包中的第一个 SYN 数据包时都会创建新的序列号,并因此忽略其余数据包?我现在如何知道这些新的序列号并相应地重放它们?

如果我错了,请告诉我。我按原样重播了数据包,重播正常,但我没有获得物品/经验值,所以我想这些数据包一定被​​服务器忽略了。

答案1

当然,您必须至少根据对等方的第一次回复来更改其序列号。在 TCP 连接开始时(TCP 握手),每个通信方都会生成自己的伪随机初始序列号。然后,序列号会随着传输的数据字节数而增加,如果序列号错误,数据包实际上会被拒绝。

现有的工具可以为您完成序列号转换/再生并重播捕获的 TCP 流的单侧部分。

有关 TCP 的更多信息:传输控制协议-操作

相关内容