一馬力のメモ帳

MVSからLinuxまで。基盤屋さんは眠らない

Wiresharkのパケット追跡機能(follow tcp stream)の仕組み

Wiresharkのパケットの追跡機能を利用すると
表示フィルタに適用される「tcp.stream eq xx」って
何をフィルタして表示しているのか気になりません?

参考:過去記事
Wiresharkで特定の通信を追跡し内容を確認する[macOS] 

今回はこの追跡機能「tcp.stream」を追跡してみます



目次


表示フィルタ「tcp.stream eq xx」の仕組み

Wiresharkでパケットの追跡をすると適用される表示フィルタ
「tcp.stream eq xx」

これは何を追っているかというと

  • ホストAのIP
  • ホストAのPort
  • ホストBの IP
  • ホストBの Port

の4つの組み合わせが一致したパケットを追跡して番号付けしています。

例えば下の例では

  • ホストA IP:13.230.115.161
  • ホストA Port:80/tcp
  • ホストB IP:192.168.3.2
  • ホストB Port:60035/tcp

の組み合わせにIndex No.8という番号をWiresharkが付番しています。

パケットの詳細ではどこに表示されているか?

ではIndex No.8という番号は
パケットの詳細のどこに表示されているか確認すると

今回の例ではTCPなので

  • Transmission Control Protocolの中の + Stream index:xx

部分に表示されています。

この仕組がわかれば,都度 右クリック>追跡>TCP の操作を辿らなくても
パケットの詳細を確認してフィルタの番号を8→9→10と変更するだけで
対象のパケットをフィルタしていけます

注意:

「Stream index: xx」はWiresharkが生成している番号なので
キャプチャしたパケットそのものには存在しない情報です

参考になれば幸いです

試した環境

ホストOS

Apple iMac 21.5インチ 1.6GHz Corei5 8GB 1TB MK142J/A

iMac (27-inch, Mid 2010)

macOS High Sierra
 システムのバージョン:    macOS 10.13.4 (17E202)
 カーネルのバージョン:    Darwin 17.5.0

 Wireshark

Wireshark
    Version 2.4.3 (v2.4.3-0-g368ba1e)