Wireshark + Intel NIC で tagVLAN の VLAN-ID を含めてキャプチャする方法

Update@2014/06/07

Wireshark で tagVLAN のタグ(VLAN-ID)がうまくチャプチャできない場合の対処法メモ。
(ググればすぐ見つかるけど)

対象は Intel NIC を使ってキャプチャしている場合。

http://wiki.wireshark.org/CaptureSetup/VLAN
にあるように Intel NIC のドライバはデフォルトでは 802.1Q の VLANタグを引っぺがしてたデータを OS に渡すとのこと。

このよけいなおせわ機能を停めて Intel NIC でVLANタグまでキャプチャするにはレジストリをいじればいいらしい。


具体的には

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\00xx

の中(xxは番号)を順に眺めて、DriverDesc がキャプチャに使う NIC の名前になっているものを見つける。
そしてその下に
MonitorModeEnabled=1
ドライバが e1g, e1e, e1y の場合は → MonitorModeEnabled=1
ドライバが e1c, e1d, e1k, e1q, e1r, ixe, ixn, ixt の場合は → MonitorMode=1
を新規作成するとのこと。
(右クリック→新規→文字列値 で新規にキーを作成。キー名を MonitorModeEnabled 値を 1 にする)


ドライバの見分け方は、
コントロールパネル→ネットワークとインターネット→ネットワーク接続 を開いて、対象の NIC のプロパティを開き、その「構成」から「ドライバタブ」を開いて「ドライバファイルの詳細」を開くとドライバファイルの一覧が出てくるので、そこのファイル名から判別できると思います。


参考:

※ 2009/7/16 具体的なやり方を追記
※ 2014/6/7 ドライバの違いによるキー名の違いを追記