web-dev-qa-db-ja.com

パケット再生のTCPシーケンス番号を変更しますか?

まず、キャプチャにwiresharkを使用し、再生にcolaso​​ftを使用しています。キャプチャされたパケットのグループを再生しようとしていますが、ループして数回繰り返されます(これの目的は、オンラインのゲームからファームに戦闘の再生を送信して報酬を得ることにあります)。 。

私は読んだ ここ TCP/IPは繰り返されるシーケンス番号を持つパケットを無視する。それで、このパケットグループの最初のSYNパケットが送信されるたびに新しいシーケンス番号が作成され、それが原因で残りのパケットが無視されると考えるのは正しい方向に進んでいますか?これらの新しいシーケンス番号をどのように再生し、それに応じて再生できますか?

私がかなりオフベースなら、lemmeは知っています。パケットをそのまま再生しましたが、正常に再生されますが、items/xpを取得していないため、サーバーによってパケットが無視されている必要があると思います。

3
Grace

確かに、少なくとも最初の応答に従って、ピアのシーケンス番号を変更する必要があります。 TCP接続(TCPハンドシェイク)の開始時に、各通信パーティは独自の疑似乱数初期シーケンス番号を生成します。シーケンス番号は、送信されるデータのバイト数、実際にはシーケンス番号が間違っている場合、パケットは拒否されます。

シーケンス番号の変換/再生成を実行し、キャプチャされたTCPストリームの片側部分を再生する既存のツールがあります。

  • Tcpreplay は、キャプチャされたトラフィックを変更および再生するための非常に便利なツールのセットです。再生するためのツールTCP is tcpliveplay
  • Wireplay は、もう1つのより単純なツールです。

TCPの詳細: 伝送制御プロトコル-操作

3
pabouk