転送されたSSHポートでトラフィックを表示するには?

転送されたSSHポートでトラフィックを表示するには?

SSHクライアントがSSHポートを介して交換されたトラフィックを画面またはファイルに印刷するSSHポート転送を設定できます。

問題をデバッグしようとしていますが、ローカルシステムで実行されているJavaプロセスとSolarisで実行されているリモートプロセスの間で転送される内容を確認したいと思います。 Javaプログラムを実行できるように、SSHを介したポート転送を使用しています。通常、.javaファイルをSolarisシステムにコピーしてビルドして実行する必要があります。これはデバッグには非常に効率的な方法ではないため、ポート転送が必要です。クライアントとサーバーはIIOPプロトコルを使用しているため、httpプロキシを使用してトラフィックを監視することはできません。

ベストアンサー1

私はチートを書き、パイプにいくつかのnetcat「とa」を入れます。tee

nc -k -l -p $localport -c "tee file.out | nc 127.0.0.1 $portforwardport"

どこに$localportJavaプロセスを指す任意のポートで、$portforwardportsshポート転送ポート番号です。これにより、-kクライアントがシャットダウンするのではなく、最初の接続が切断された後でもリスニングnetcatがリスニングを維持し続けます。出力は最終的にfile.outローカルホストに表示されます。

おすすめ記事