ESXiでのパケットキャプチャ(Wireshark)
ESXi上の仮想マシンの通信を、ESXi上の仮想マシンWindows 10のWireshark v3.0.1でキャプチャするときのメモです。
ポートグループの設定
VMのCentOSのパケットキャプチャをしようと、Wiresharkを実行するWin10を、単に同じポートグループに所属させてもパケットキャプチャには失敗します。その理由は、ESXiのポートグループがスイッチングハブ的な動作をしているからです。ESXiではデフォルトで、必要なパケットのみVMに送信する仕組みとなっていて、CentOS宛てのパケットはWin10には飛んできません。
この制約を外すには、ポートグループの設定を変更し、「無差別モード(Promiscuous Mode)」を「いいえ」→「はい」に変更します。このように変更することで、同一仮想スイッチ配下の通信をすべてキャプチャ可能になります。(注) 同一ポートグループではなく、同一仮想スイッチとなります。
ただし、同一ポートグループに属する全てのVMにも、そのVMに関係のないパケットが飛んできて余計な負荷をかける懸念もあります。これを回避するためには、パケットキャプチャのターゲットとなる仮想スイッチ配下に、新規に別のポートグループを作成し、こちらのポートグループのみ、無差別モードを許可する方法があります。
上のように、Wiresharkを実行するWin10だけ所属させたポートグループを作成し、無差別モードを許可します。
所属するポートグループは異なりますが、これでWin10からCentOS2の通信のパケットキャプチャが実行可能となります。
ネットワークアダプタの構成
Win10でキャプチャに使うネットワークアダプタは、Win10の通信に必要なものとは分けて別に作成したほうがいいでしょう。ESXiのWeb Clientで、仮想マシンのWindows 10の設定を変更し、キャプチャ用のネットワークアダプタを追加します。
その後、Windows 10で追加されたネットワークデバイスのプロパティ画面を開いて、以下のように「Npcap Packet Driver (NPCAP)」以外のチェックを全て外します。
こうするとこで、ターゲットのネットワークにWindows 10からの余計な通信を混在させることなく、パケットキャプチャが可能となります。