ソースが利用できないサードパーティのTCPクライアント/サーバーWindowsXP、SP3アプリをリバースエンジニアリングしようとしています。私の主な攻撃ラインは、WireSharkを使用してTCPトラフィックをキャプチャすることです。
クライアント側で特定のGUIコマンドを発行すると、クライアントはサーバーへのTCP接続を作成し、データを送信して、接続を切断します。サーバーポートは1234であり、クライアントポートはOSによって割り当てられるため、異なります。
WireSharkは、発行したGUIコマンドに対応するメッセージが2回送信されることを示しています。2つのメッセージの送信元ポートは異なりますが、宛先ポートは同じです(前述のとおり、1234)。
クライアント側は実際にはいくつかのプロセスで構成されており、これらのメッセージを送信しているプロセスを特定したいと思います。これらのプロセスは長寿命であるため、それらのPIDは安定しており、既知です。ただし、関連するTCP接続は一時的なものであり、数ミリ秒程度しか持続しません。WireSharkでクライアント側のポート番号を取得し、関連するすべてのPIDを知っていますが、接続が一時的であるため、どのPIDがポートを開いたかを判断するのが困難です。(接続が長続きした場合は、netstatを使用してポート番号をPIDにマップできます。)これらの一時的な接続を作成しているプロセスを特定する方法について、誰か提案がありますか?