- ベストアンサー
WiresharkのFlow Graphとは?TCP通信の3ウェイハンドシェイクのパケットやりとりを観測
- WiresharkのFlow Graphは、クライアント端末とサーバー端末のTCP通信のパケットやりとりを観測する機能です。
- 通常、TCP通信の3ウェイハンドシェイクはSYN→SYN ACK→ACKという順序で行われますが、実際に観測したパケットではPSH, ACK→PSH, ACK→ACK→ACKという順序になっていました。
- なぜこのような順序になっているのか、詳しい理由を教えていただけると助かります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>ip.dst == 192.168.1.222 || ip.src == 192.168.1.222 一応、正しい…ですかねぇ。 Flow Graphではなく、WireSharkの画面ではどうなっていますか? パケットキャプチャから漏れた…という可能性も捨てきれない…というところでしょうか……。 さもなくば…… 既にハンドシェーク終わった後からキャプチャしていた…という可能性もありますかね。 # 対象アプリ(サーバアプリ)を終了している状態からキャプチャ開始するとか。
その他の回答 (1)
- Wr5
- ベストアンサー率53% (2173/4061)
Flow Graphで表示する前の、フィルタ条件がおかしかった…ということはありませんか? 手元の環境(WireShark 1.8.2とLinuxで動作しているPOP3サーバ)でキャプチャして、 ip.addr == 192.168.1.250 でフィルタしてからFlow Graphで表示すると、ちゃんと3ウェイハンドシェークしていますよ。 # クライアントPCが192.168.1.2(Win7 64Bit) # POP3サーバが192.168.1.250でDebian。 全角空白とかで成形したけど、ちゃんと見えるかなぁ…。 # ズレてたらテキストエディタなどに貼り付けてください。固定ピッチフォントの。 |Time | 192.168.1.2 192.168.1.250 | |3.702| SYN |Seq = 0 | |(52553) ------------------> (110)| |3.702| SYN, ACK |Seq = 0 Ack = 1 | |(52553) <------------------ (110)| |3.702| ACK |Seq = 1 Ack = 1 | |(52553) ------------------> (110)| |3.703| PSH, ACK - Len: 20 |Seq = 1 Ack = 1 | |(52553) <------------------ (110)| フィルタをip.dst == 192.168.1.250にしてからだと… # キャプチャし直したものなのでTimeは異なりますが…。 |Time | 192.168.1.2 192.168.1.250 | |2.118| SYN |Seq = 0 | |(52557) ------------------> (110)| |2.118| ACK |Seq = 1 Ack = 1 | |(52557) ------------------> (110)| |2.120| PSH, ACK - Len: 6 |Seq = 1 Ack = 21 | |(52557) ------------------> (110)|
お礼
回答頂きありがとうございます。 私は 192.168.1.111(クライアント端末) <---> 192.168.1.222(サーバ端末側) この端末間のパケット通信を ip.dst == 192.168.1.222 || ip.src == 192.168.1.222 このようなフィルター条件でdisplayしました。 たぶんこれで、 192.168.1.111(クライアント端末) <---> 192.168.1.222(サーバ端末側) この端末間の通信は全部表示できているんじゃないかと思うのですが、 もし間違いありましたらご指摘頂けるとありがたいです。
お礼
回答頂きありがとうございます。ハンドシェイクし終わったら、その後はやらないんですね。常にTCPは3wayハンドシェイクをしている物だと思っていました。