2

これが状況です。ネットワークにはサーバーとクライアントがあります。彼らはこのように通信します:

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

ただし、クライアントが機能を実行できず、エラーを送信する場合があります。ステップ2のすべてのパケットをキャッチし、それらを分析し(そのためのツールはすでにあります)、一部のパケットがクライアントに到達しないようにし、プログラムで処理して、ステップ3のようにパケットを形成します。これはクライアントで実行する必要があります。側。サーバーにもクライアントにもアクセスできません。

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

助けてくれてありがとう!パケットを変更する方法をグーグルで検索しようとしましたが、得られたのは未回答の質問とスニファだけでした=(

編集:実際には、パケットを挿入したり削除したりする必要はありません。パケットデータを変更するだけで管理できます。また、同じパケットに複数のリクエストが含まれることはなく、複数のパケットにまたがる単一のリクエストは問題になりません。

4

2 に答える 2

3

サーバーのプロキシを構築する必要があります。クライアントはプロキシに接続し、プロキシ自体はサーバーに接続します。クライアントとサーバーの間ですべてのパッケージをルーティングするだけです。

ただし、特定のメッセージを傍受して変更できるようになりました。フィルタリング HTTP プロキシを想像してみてください。これは同じように機能します。

于 2012-02-09T07:09:08.590 に答える
1

私は、Linux と freeBSD で libpcap を個人的に使用した経験があります。これは、パケットをキャッチまたは挿入するのに役立つ一種の低レベル ライブラリです。IPV6ネットワークブリッジプロジェクトで使用しました...しかし、Windowsポートがあることは知っています。 http://sourceforge.net/projects/libpcap/ ライブラリに次のことを許可できます。

  1. フィルターを使用してパケットをキャッチする
  2. パケットからデータを抽出する
  3. データを処理できます(変更できます)
  4. 同じライブラリを使用して再度再注入します

しかし、非常に未加工の問題で内部データを処理する必要があります。このライブラリの最適なドキュメントは、ヘッダー ファイル内のコメントです。これは最新情報です。より快適な高レベルのライブラリがいくつかあるかもしれません。

于 2013-07-06T16:10:10.703 に答える