ESXi 5.5 以降での pktcap-uw ツールの使用
search cancel

ESXi 5.5 以降での pktcap-uw ツールの使用

book

Article ID: 306965

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

pktcap-uw ツールは拡張されたパケット キャプチャおよび分析ツールで、レガシーの tcpdump-uw ツールの代わりに使用できます。pktcap-uw ツールは、ESXi 5.5 以降にデフォルトで含まれています。この記事には、pktcap-uw ツールを使用してパケット キャプチャと分析を実行する方法についての情報が記載されています。

tcpdump-uw ツールはパケット/フレームを vmkernel インターフェイス レベルでのみキャプチャすることができ、アップリンク、vSwitch、または仮想ポート レベルではフレームをキャプチャできません。新しい pktcap-uw ツールを使用すると、ハイパーバイザー内のすべてのポイントでトラフィックをキャプチャできるので、柔軟性が向上し、トラブルシューティング機能が改善されます。


Symptoms:

免責事項:これは英文の記事「Using the pktcap-uw tool in ESXi 5.5 and later (341568)」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

Environment

VMware vSphere ESXi 6.0
VMware vSphere ESXi 5.5

Resolution

pktcap-uw ツールの使用

  1. pktcap は一方向に実行され、デフォルトでは受信方向のみです。
  2. トラフィックの方向は、受信の場合は --dir 0、送信の場合は --dir 1 を使用して指定されますが、受信が想定されます。
  3. 2 つ(またはそれ以上)の追跡を個別に並行して実行できますが、後で Wireshark 内でマージする必要があります。
 
  • 基本的なヘルプおよび構文情報を取得するには、-h オプションを使用します。

    # pktcap-uw -h |more

  • vmkernel ポートのトラフィックのライブ キャプチャを表示するには:

    # pktcap-uw --vmk vmkX

    たとえば、vmk0 のフレーム/パケットをキャプチャするには:

    # pktcap-uw --vmk vmk0

  • ホスト vmnic 上の特定の物理ネットワーク カードのライブ キャプチャを表示するには:

    # pktcap-uw --uplink vmnicX

    たとえば、vmnic7 のフレーム/パケットをキャプチャするには:

    # pktcap-uw --uplink vmnic7

  • 仮想マシンの特定の vSwitch ポートのライブ キャプチャを表示するには、--switchport オプションを使用します。

    # pktcap-uw --switchport switchportnumber

    たとえば、dvSwitchport 1234 に接続されている仮想マシンで送受信されるフレームまたはパケットをキャプチャするには:

    # pktcap-uw --switchport 1234

  • キャプチャしてファイルに出力するには、-o オプションを使用します。

    # pktcap-uw --vmk vmk# -o <file.pcap>

    たとえば、vmk0 からのパケットをキャプチャして /tmp ディレクトリにある test.pcap ファイルに保存するには:

    # pktcap-uw --vmk vmk0 -o /tmp/test.pcap

    -o オプションを使用している場合、出力はその他の設定にかかわらず、pcap 形式になります。

    :キャプチャを終了するには、Ctrl + Z キーではなく、Ctrl + C キーを複数回押してください。Ctrl + Z キーではバックグラウンド処理が実行したままになり、それによりその後に実行する pktcap-uw コマンドが実行できず、エラーが発生する場合があります。

    error: Can't create the session, Exiting

高度な使用: 複数のポートを一度に追跡する

一例として、特定の vSwitch ポートとそれに関連付けられたアップリンクを同時に追跡する場合を想定します。

  1. vSwitch ポート番号を取得するには、次のコマンドを実行します。

    net-stats -l
  2. 次のパラメータを特定し、控えておきます。

    esxtop コマンドによって返されるポート ID — --switchport 1234567

    追跡する vmnic2 物理ポート — --uplink vmnic2 -

    pcap 出力ファイルの場所 — /tmp/vmnic2.pcap

  3. pktcap-uw コマンドを実行し、両端でパケットを同時にキャプチャします。

    pktcap-uw --switchport 1234567 -o /tmp/switchport_1234567.pcap & pktcap-uw --uplink vmnic2 -o /tmp/vmnic2.pcap &

    :ここで想定しているコマンド シェルは Bash シェルです。したがって、vswitch 上に複数のアップリンクがある場合は、末尾の & の後にコマンドを追加し、最後に & を追加します。

  4. pktcap-uw トレースは kill コマンドで停止することができます。

    kill $(lsof |grep pktcap-uw |awk '{print $1}'| sort -u)

  5. 次のコマンドを実行して、すべての pktcap-uw トレースが停止したことを確認します。

    lsof |grep pktcap-uw |awk '{print $1}'| sort -u


Additional Information