7

私は C++ で取り組んできた小さなプロジェクトを持っています。その性質上、ライブ TCP ストリームにパケットを挿入する必要があります。(目的は十分に無実です。 http://ee.forumify.com/viewtopic.php?id=3299知っておく必要があります)ゲームのレベルエディターを作成していますが、ハンドシェイクの性質により、 WinSock などの高レベル ライブラリとの新しい接続を単純に確立することはできません。今までは、Winsock Packet Editor に頼って面倒な作業を行っていましたが、アプリケーションにすべて任せれば、みんなが喜ぶでしょう。

私の質問は次のとおりです。ライブ TCP ストリームを制御できる API はどこかにありますか? そして、DLLを注入する必要がないことを望みます。また、私は GCC/Mingw を使用しているため、回り道はできません。

私は WinPCap をいじってみましたが、動作するコードがいくつかあります (パケットを収集し、そこから送信する適切なパケットを生成できます) が、これは非常に低いレベルで動作するため、エンド ユーザーが使用する可能性があります。はい、彼らは IPv4 over Ethernet を使用する可能性がありますが、まだ PPP やその他のあいまいなプロトコルを使用している人々はどうですか? また、パケット内の最新の ID 値が変更され、クライアントが切断されたと想定するため、クライアント アプリケーションによって接続が切断されます。

誰かが高レベルの TCP ストリーム マニピュレータを提供できれば、私はとても幸せです。そうでない場合は、WinPCap をいじくり回して、すべてのダイヤルアップ ユーザーにインターネットを改善するように伝えます。

対象プラットフォーム: Microsoft Windows XP から Windows 7

4

3 に答える 3

2

ローカル ポートにバインドする別のプロセスを作成します。最初の tcp ストリームが作成されたら、そのプロセスを介してプロキシします。これにより、ネットワークに転送できます。ストリームに「注入」する必要がある場合は、このプロキシ プロセスにそれを実行させることができます。ちょっとした考え。

于 2011-09-22T10:30:26.257 に答える
1

ettercap http://ettercap.sourceforge.net/のソースコードを確認する か、hunt、 tcphijackerhttp: //packetstormsecurity.org/files/view/21967/hunt-1.5.tgzを確認する必要があります。

これらの2つのソフトは、あなたが求めていることを実行します。

于 2011-06-02T10:00:40.110 に答える
0

TCP ストリームをハイジャックできる実用的な API はないと思います。そのようなことは、本質的に、セキュリティ上の問題になります。

問題の接続のプロキシとしてプログラムを挿入できますか? つまり、接続を開くプログラムを取得してプログラムに開き、プログラムに実際のターゲットへの接続を開きます。

とにかくすべてのパケットがプログラムを通過する場合、TCP ストリームの変更は比較的簡単になるという考えです。

于 2011-05-09T09:54:33.177 に答える