現在、ネットワークトラフィックを調査中です。ここでは、どのクライアントがどのサーバに話しているかを知りたい。もちろん、私は、最初のパケットを見ていると見ることができます:エフェメラルポートの会話パートナーの解像度
PartyA:38531 ===request===> PartyB:80
PartyB:80 ===response==> PartyA:38531
PartyA:38531 ===request===> PartyB:80
PartyB:80 ===response==> PartyA:38531
PartyA:38531 ===request===> PartyB:80
PartyB:80 ===response==> PartyA:38531
のでPartyAは、ウェブサーバ(PartyB)から何かを要求します。 PartyAのポートはランダムに選択されます(https://en.wikipedia.org/wiki/Ephemeral_port)。 しかし、パケットキャプチャで最初のパケットがキャプチャされなかった場合はどうなりますか?したがって、最初のパケットは次のようになります。
PartyB:80 ===response==> PartyA:38531
....
どのようにしてサーバーが誰で、クライアントは誰ですか?たとえば以下のようなルールがありますか? 「一時的なポートは静的なポートよりも高くなければなりませんか?しかし、61000以上のポートではどうなりますか?
特定のサーバーに送信され、特定のホストから送信されたトラフィックを分析したいと考えています。しかし、新しいコネクションに新たな一時ポートが登場すればどうなるでしょうか?サーバーが誰で、クライアントが誰であるかを調べる方法はありますか?
私の質問が明確であることを願っています:)事前に おかげ
"クライアントとサーバーの間にセッションが1つしかない場合は、サーバーが誰で、クライアントが誰であるかは関係ありません。 TCPにはクライアント/サーバの概念さえありません。これはピア間の接続です。クライアント/サーバーは、アプリケーション層の概念です。 –
私は大きなトラフィックファイルを持っているので、私は0x2のTCPフラグ(SYN)を探し、接続の確立に使用されたすべてのポートを記録できることを知りました。その後、私は "サービス"ポートのリストを持っています。さらに、http://stackoverflow.com/questions/37271660/big-graph-in-memory/37272260では、最も一般的なポートのリストを生成し、一時的なポートを削除することができます。 – mutilis