TCP ソケットを使用して、同じコンピューター (localhost) 上の特定のポート番号を使用して、サーバーとクライアント プログラムの間でデータを通信しています。
そのソケットを介して送受信されるデータをキャプチャできるソフトウェアが必要ですか?
(また)
Javaで指定されたポートからパケットを盗聴する最も簡単な方法は何ですか?
Wireshark を使用することをお勧めします。使いやすく、多くのプラットフォームで実行できます。
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).
InputStream
最も簡単な方法は、プログラムの 1 つのソケットの/OutputStream
を、元のストリームと印刷/ログ ストリームに出力/ログまたは "ティー" するプロキシ実装に置き換えることです。
しかし、本当に混乱したい場合は、たくさんのスニファーがあります。
コマンドラインを使いこなしても構わない場合は、netcatを試すことができます。ポートでリッスンし、必要に応じて出力をファイルにダンプできます。
偽のデータを送信して応答を記録することもできます。
私はよくこれを HTTP プロキシのふりをして (そしてそれを使用するように Firefox を構成して) 使用し、ネットワーク経由で送信されているものを検出します。
tcpdump
さまざまなオプションを提供することを使用できます。-w オプションを使用してキャプチャを.pcap
ファイルに保存し、完了したら、そのファイルを で開きますwireshark
。この方法の利点は、PC の全体的なパフォーマンスに影響を与えることなく (ローエンドであっても)、1 秒あたりのパケット数を高速にキャプチャできることです。