Eiji James Yoshidaの記録

パケット作りが趣味のセキュリティ技術者の記録(2006年9月6日執筆開始)。当ブログはGoogle AnalyticsとAmazonアソシエイトを利用しています。

Windows 7以降のnetsh traceコマンドでパケットをキャプチャする方法

Windows 7以降*1のnetsh traceコマンドを使うとWindowsの標準機能だけでパケットをキャプチャできるので、やり方をメモ。

使用するコマンドプロンプトは管理者として実行する。

  • キャプチャ開始
    • netsh trace start capture=yes traceFile=<キャプチャファイル名>
      • netsh trace start capture=yes traceFile=C:\packets.etl
  • キャプチャ停止
    • netsh trace stop
  • 既定値
    • capture=no
    • capturetype=physical
    • report=no
    • persistent=no
    • maxSize=250
    • fileMode=circular
    • overwrite=yes
    • correlation=yes
    • perfMerge=yes
    • traceFile=%LOCALAPPDATA%\Temp\NetTraces\NetTrace.etl
    • providerFilter=no
  • ヘルプ
    • netsh trace start help
    • netsh trace show capturefilterhelp

あとはEvent Trace Log File (.etl)をMicrosoft Message Analyzerで解析すれば良い。

またEvent Trace Log File (.etl)はWiresharkで開けないので、Microsoft Message AnalyzerでNetwork Monitor Capture File (.cap)に変換すればWiresharkでも開けるようになる。

その他、参考になりそうなURLは下記の通り。

ちなみに試してみて予想外だったのはnetsh traceコマンドではPromiscuous Modeにならないことかな。なので、Promiscuous Modeでキャプチャしたい場合はWiresharkなどでキャプチャする必要がある。

関連エントリ

How to detect a promiscuous interface by using WMIC

*1:サーバOSだとWindows Server 2008 R2以降