6

TCP ソケットを使用して、同じコンピューター (localhost) 上の特定のポート番号を使用して、サーバーとクライアント プログラムの間でデータを通信しています。

そのソケットを介して送受信されるデータをキャプチャできるソフトウェアが必要ですか?

(また)

Javaで指定されたポートからパケットを盗聴する最も簡単な方法は何ですか?

4

7 に答える 7

7

Wireshark を使用することをお勧めします。使いやすく、多くのプラットフォームで実行できます。

http://www.wireshark.org/

于 2009-02-26T13:24:04.600 に答える
4

いくつかのコーディングを行っている場合 (そして、wireshark/tcpdump を実行するだけではない場合)、選択肢はほとんどありません。Java に固執したい場合、raw ソケットを使用する唯一の (?) オプションは JNI 経由であり、役立つライブラリはほとんどありません。次に例を示します。

  • jNetPcap - ネイティブ libpcap/winpcap ライブラリのラッパーであり、それらのすべての機能と構造を公開します
  • RockSaw - raw ソケットを使用するための API
于 2009-02-26T14:09:03.897 に答える
1

Tcpdump can also be used directly, if the volume of traffic is not high, obviating the need to use wireshark. Just something like

tcpdump -ni lo0 port 1234

should be all you need (lo0 is the loopback interface on all Unix/Linux systems; also change the port number of course).

于 2012-03-29T16:39:28.290 に答える
1

InputStream最も簡単な方法は、プログラムの 1 つのソケットの/OutputStreamを、元のストリームと印刷/ログ ストリームに出力/ログまたは "ティー" するプロキシ実装に置き換えることです。

しかし、本当に混乱したい場合は、たくさんのスニファーがあります。

于 2009-02-26T13:24:57.297 に答える
1

コマンドラインを使いこなしても構わない場合は、netcatを試すことができます。ポートでリッスンし、必要に応じて出力をファイルにダンプできます。
偽のデータを送信して応答を記録することもできます。

私はよくこれを HTTP プロキシのふりをして (そしてそれを使用するように Firefox を構成して) 使用し、ネットワーク経由で送信されているものを検出します。

于 2009-02-26T13:28:18.223 に答える
0

tcpdumpさまざまなオプションを提供することを使用できます。-w オプションを使用してキャプチャを.pcapファイルに保存し、完了したら、そのファイルを で開きますwireshark。この方法の利点は、PC の全体的なパフォーマンスに影響を与えることなく (ローエンドであっても)、1 秒あたりのパケット数を高速にキャプチャできることです。

于 2011-11-13T16:35:13.367 に答える