[ホーム] -
[Windows 10 FAQ 一覧] - [netsh で簡単にパケットをモニターする (無料)]
netsh コマンドで簡単にネットワークパケットをキャプチャ―する方法を紹介します
netshはWindows 10 や Windows Server 2012 R2に標準で搭載されているツールです。Windowsのライセンスがあれば誰でも使用できます。
またすでにWindowsに搭載されているので、新規にインストールしたり追加する必要はありません。
1.概要
・Windows 10標準のnetsh コマンドを使用すればトレースとパケットのキャプチャが可能です。Windowsライセンスがあれば無償で使用します。セットアップも不要です。
・wireshirk など別途ツールインストールなしでキャプチャが可能です。
・ただしnetshにより取得したパケットを解析には、別途ネットワーク解析ソフトをダウンロードする必要があります。(これも無償でダウンロード可能です)
・調べた限りでは、プロミスキャス・モードは対応していなようです。
・ログの循環機能があり、うっかり止め忘れてキャプチャしたモニタの保存ファイルが巨大になりシステムの空き容量0で障害発生などは避けられるようです。
netsh で取得したモニタの解析は Microsoft Message Analyzer で可能です。
Microsoft Message Analyzer
(*)MessageAnalyzer.msi に関して、64bit OSでは 32bit版はインストールできませんでした。
2.トレース実行基本手順
トレースは以下の手順で実行実行します。
(1)管理者権限でコマンドプロンプトを開く
(2)以下コマンドのよりトレース実行(パケットキャプチャもあわせて取得)
以下の例では c:\temp\trace.elt に取得します。変更してください。
C:\netsh trace start capture=yes tracefile=c:\temp\trace.elt
トレース構成:
-------------------------------------------------------------------
ステータス: 実行中
トレース ファイル: C:\temp\trace.elt
追加: オフ
循環: オン
最大サイズ: 250 MB
レポート: オフ
(3)以下コマンドによりトレース終了します。
(*)停止には多少時間がかかります。
C:\> netsh trace stop
トレースを関連付けています... 完了
データ収集を生成しています ... 完了
トレース ファイルと追加のトラブルシューティング情報は、"c:\temp\trace.cab" とし
てコンパイルされました。
ファイルの場所 = c:\temp\trace.elt
トレース セッションは正常に停止しました。
(4)Microsoft Message Analyzer を起動します。(事前にインストールしておきます。)
・先ほど保存したフォルダに移動します。
・メニューより、[File][Open][FromExplorer]を選択します。
・種類より「Windows Event Trace Log Files」を選択します。
・ファイル名に * を入力し[enter]を入力します。
以上で取得したデータが表示されます。
3.トレースでトラブルシューティング
あらかじめ用意されたシナリオを活用してトラブルシューティングが可能です。
発生したトラブルにあったシナリオを指定してトレースします。
(*)シナリオ一覧は以下で表示が可能です。
C:\netsh trace show scenarios
以下の例ではシナリオにInternetClientを指定することにより、Webサーバへの接続の問題を調査します。
C:\netsh trace start scenario=InternetClient tracefile=c:\temp\trace12.elt
4.Providerを指定
Provider を指定することも可能です。
以下はProviderにMicrosoft-Windows-HttpEventを指定しています。
C:\ netsh trace start capture=yes provider=Microsoft-Windows-HttpEvent tracefile=c:\temp\trace10.elt
Provider一覧は以下のコマンドで表示が可能です。(600件以上と大量に表示されます)
C:\netsh trace show providers
5.その他
(1)persistent=yes を指定すれば OS再起動後もトレースを継続するようです。
(2)ファイル名を指定しない場合、トレースファイルは以下に保管されます。
C:\Users\<ユーザ名>\AppData\Local\Temp\NetTraces\NetTrace.etl