• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:WiresharkのFlow Graph)

WiresharkのFlow Graphとは?TCP通信の3ウェイハンドシェイクのパケットやりとりを観測

このQ&Aのポイント
  • WiresharkのFlow Graphは、クライアント端末とサーバー端末のTCP通信のパケットやりとりを観測する機能です。
  • 通常、TCP通信の3ウェイハンドシェイクはSYN→SYN ACK→ACKという順序で行われますが、実際に観測したパケットではPSH, ACK→PSH, ACK→ACK→ACKという順序になっていました。
  • なぜこのような順序になっているのか、詳しい理由を教えていただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.2

>ip.dst == 192.168.1.222 || ip.src == 192.168.1.222 一応、正しい…ですかねぇ。 Flow Graphではなく、WireSharkの画面ではどうなっていますか? パケットキャプチャから漏れた…という可能性も捨てきれない…というところでしょうか……。 さもなくば…… 既にハンドシェーク終わった後からキャプチャしていた…という可能性もありますかね。 # 対象アプリ(サーバアプリ)を終了している状態からキャプチャ開始するとか。

techhouse
質問者

お礼

回答頂きありがとうございます。ハンドシェイクし終わったら、その後はやらないんですね。常にTCPは3wayハンドシェイクをしている物だと思っていました。

その他の回答 (1)

  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.1

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)|

techhouse
質問者

お礼

回答頂きありがとうございます。 私は 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(サーバ端末側) この端末間の通信は全部表示できているんじゃないかと思うのですが、 もし間違いありましたらご指摘頂けるとありがたいです。

関連するQ&A