LoginSignup
6
8

More than 5 years have passed since last update.

BIG-IPでtcpdumpを使用する際のTips

Last updated at Posted at 2017-01-22

はじめに

BIG-IPでは、パケットキャプチャにtcpdumpが使用できます。このtcpdumpの使い方は一般的な(Linuxサーバなどで動作する)tcpdumpとほぼ同じですが、一部BIG-IP固有の機能があります。

どれもAskF5に記載されていることなので、詳細は末尾の「参考URL」のリンク先を参照してください。

tcpdumpのオプション

-i interface名

例:tcpdump -i 1.1
-i」は、キャプチャ対象インタフェースを指定します。tcpdumpとしてはとても一般的な使い方ですが、BIG-IPではあまり使用されないと思います。

-i vlan名

例:tcpdump -i internal
BIG-IPでは、-i の引数としてVLANを指定することができます。インタフェース名よりもこの使い方の方がBIG-IPでは一般的かと思います。

-i 0.0

例:tcpdump -i 0.0
0.0というインタフェースを指定すると、TMM上の全インタフェース(全VLAN)をキャプチャします。便利ですがキャプチャデータが非常に大きくなるので、フィルタなどで対象を絞ることが推奨されます。

-i eth0

例:tcpdump -i eth0
Management Portをキャプチャします。

-i interface名|vlan名:nnn

例:tcpdump -i internal:nnn
-iで指定するインタフェース名に「:n」をつけると、パケットデータ内にBIG-IP固有の情報、例えば、そのパケットを処理したTMMの番号や、Virtual Serverの名前などが追加されます。nの数が増えるに従って、さらに様々な内部情報が付加されます。nの数は最大3つまでです。

その他

-s 0

一般的なtcpdumpにもありますが、-sは、取得する1パケットあたりのサイズを指定するオプションで、デフォルトでは先頭96byteしか保存されません。
-s 0と、0を指定することで、サイズが無制限になり、パケットの全データが保存されます。これがないと必要な情報が取れなかったりします。

パケットキャプチャデータの先頭に含まれてる情報

BIG-IPで取得したパケットキャプチャの先頭1パケット目には、機器の型番やホスト名、バージョン、tcpdumpを実行した際の引数などが保存されています。キャプチャデータをWiresharkに読み込ませると確認できます。

WiresharkでF5 Wireshark Pluginを有効にする

BIG-IPのtcpdumpで"-i"オプションに":nnn"を付与した場合、BIG-IP固有の拡張情報が含まれるのは上記に書いた通りです。

それらの情報をWiresharkで表示できると、BIG-IPのトラブルシュートの際にとても役に立ちます。

このためには、Wiresharkにこのデータを解析するためのPluginを追加する必要があります。

以前は、DevCentralからPluginをダウンロードし、WiresharkのPluginsディレクトリに保存するなどの手間が必要でしたが、Wireshark 2.6からは、標準でF5 Wireshark Pluginが含まれるようになりました。(素晴らしい!)

詳細は以下の、DevCentralのページを参照してください。

DevCentral:F5 Wireshark Plugin

このPluginは、標準状態では無効になっているので、設定を変更して有効にする必要があります。

F5 Wireshark Pluginを有効にする

  1. Wiresharkのメニューより"Analyze - Enabled Protocols"を選択
  2. "F5 Ethernet Trailer" に含まれている "f5ethertrailer"にチェックを入れ、OKを押す。

wiresshark_01.jpg

これでPluginを有効にできます。

F5 Wireshark Pluginの有無でどう変わるか

以下は、BIG-IPで取得したあるパケットキャプチャファイルを、Plugin有効/無効、それぞれのパターンのWiresharkで開いた時の画面例です。

  • Plugin無効

wiresshark_02.jpg

一般的なWiresharkの情報が表示されています。BIG-IPのtcpdumpでは、先頭にtcpdump実行時の引数が載ります。

  • Plugin有効

wiresshark_03.jpg

元々の情報に加えて、上部のパケットリストのウインドウに、各パケットについて、通信の方向(IN/OUT)、それに、どのtmmで処理したのか、といった情報が載ってることがわかります。

また、真ん中のウィンドウには、F5 Ether Trailer Protolという情報が追加表示されています。ここは"Low Details", "Medium Details", "High Details"とさらにドリルダウンが可能になっています。

ドリルダウンするとそこには様々な情報が含まれています。例えば、Medium Detailsに含まれる、Flow IDやPeer IDは、BIG-IPがフルプロキシ(クライアントサイドとサーバサイドで、異なるTCPセッション)で動作している際に、通信を追いかける上でとても有用です。

参考URL

6
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
8