2012-02-09 3 views
2

ここに状況があります。ネットワークにはサーバーとクライアントがあります。tcp/ipパケットの変更C++またはjava

  1. クライアントは次のように通信します。
  2. サーバーがクライアント関数パラメーターに送信します。
  3. 機能を実行しようとするクライアントがサーバーに応答を送信します。
  4. サーバーは、表示する必要のあるデータをクライアントに送信します。

ただし、クライアントが機能を実行できず、エラーを送信することがあります。私はステップ2からのすべてのパケットを捕まえ、それらを分析して(私はすでにそのためのツールを持っています)、それらのうちのいくつかがクライアントに到達するのを防ぎ、プログラムでそれらを処理し、ステップ3のようなパケットを作成します。側。私はサーバーにもクライアントにもアクセスすることはできません。

したがって、問題は次のとおりです。C++やjavaでtcp/ipパケットを変更、注入、削除するためのライブラリがありますか?このソリューションは、WinシステムとLinuxシステムの両方で動作している必要があります。 さらに、クライアント機能を拡張するためのより良いアイデアがあるかもしれませんか?

ありがとうございました! 私はパケットを変更する方法をgoogleにしようとしましたが、返信されなかった質問とスニファ=(

編集:実際には、私は本当にパケットを注入したり取り除いたりする必要はありません。また、同じパケットに複数の要求はなく、複数のパケットにわたる単一の要求は問題ではありません。

答えて

3

クライアントはプロキシに接続し、プロキシ自体は接続します

しかし、特定のメッセージを傍受して変更することができるようになりました。プロキシ、それは同じように動作します。

+1

+1同じパケットで複数のリクエストを持ち、複数のパケットに渡って1つのリクエストを持つことはできません。また、ストリームにパケットを挿入することも、ストリームからパケットを削除することもできません。番号が付けられているからです。 –

+0

ありがとう、私はブーストの例からプロキシを構築し、私は必要なものをしました。 – ov7a

1

私はLinux上でlibpcapと、パケットを捕まえるか、注入するのに役立つ低レベルライブラリの一種である個人的な経験があります。私はIPV6ネットワークブリッジプロジェクトでそれを使用しました...しかし、私はそれのためのWindowsポートがあることを知っています。 http://sourceforge.net/projects/libpcap/ あなたはライブラリにさせることができます:あなたがデータを処理することができ、フィルタにパケット

  • から
  • 抽出データを使用して

    1. キャッチパケット(それらを変更)
    2. が同じライブラリを使用して、再びそれを再注入

    しかし、内部のデータは非常に素早く処理する必要があります。このライブラリのベストドキュメントは、ヘッダーファイル内のコメントです。これは最新の情報です。たぶんもっと快適なハイレベルな図書館があるかもしれません。

  • 関連する問題