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などでキャプチャする必要がある。

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