Winsock トレースの制御
Winsock トレースは、次のいずれかの方法を使用して制御できます。
コマンドライン ツール
Windows Vista と Windows Server 2008 には、トレースを制御し、バイナリ トレース ログ ファイルを読み取り可能なテキストに変換するために使用される 2 つのコマンド ライン ツールが含まれています。
logman.exe ツールは、Winsock トレースを開始または停止するために使用されます。
tracerpt.exe ツールは、バイナリ トレース ログ ファイルを読み取り可能なテキスト ファイルに変換するために使用されます。
イベント ビューアー
Windows Vista 以降のイベント ビューアーを使用して、Winsock トレースを有効にすることもできます。 イベント ビューアーは、[スタート] メニューの [管理ツール] でアクセスできます。
logman と tracert の使用
Windows Vista 以降では、Winsock ネットワーク イベント トレースは既定で無効になっています。
次のコマンドは、コンピューター上で Winsock ネットワーク イベント トレースを開始し、イベント トレース セッションの名前を mywinsocksession に設定し、winsocklogfile.etl というバイナリ ログ ファイルに出力を送信します。
logman start -ets mywinsocksession -o winsocklogfile.etl -p Microsoft-Windows-Winsock-AFD
ログ ファイルは、winsocklogfile_000001.etl 形式のファイル名を使用して現在のディレクトリに作成されます
次のコマンドは、mywinsocksession という名前のセッションのコンピューターで上記の Winsock トレースを停止します。
logman stop -ets mywinsocksession
バイナリ ログ ファイルは、–o パラメーターで指定された場所に書き込まれます。 バイナリ ファイルを読み取り可能なテキスト ファイルに変換するには、 tracerpt.exe を使用します。
<.etl ファイル>のtracerpt.exe名 –o winsocktracelog.txt
プレーン テキストではなく xml を含む出力ファイルを使用する場合は、次のコマンドが使用されます。
<.etl ファイル>のtracerpt.exe名 –o winsocktracelog.xml –of xml
Windows Vista 以降では、Winsock カタログ変更トレースが既定で有効になっています。
Note
階層型サービス プロバイダーは非推奨です。 Windows 8とWindows Server 2012以降では、Windows フィルター プラットフォームを使用します。
次のコマンドは、コンピューター上の階層化サービス プロバイダー (LSP) の Winsock カタログ変更トレースを開始し、イベント トレース セッションの名前を mywinsockcatalogsession に設定し、winsockcataloglogfile.etl というバイナリ ログ ファイルに出力を送信します。
logman start -ets mywinsockcatalogsession -o winsockcataloglogfile.etl -p Microsoft-Windows-Winsock-WS2HELP
ログ ファイルは、winsockcataloglogfile_000001.etl 形式のファイル名を使用して現在のディレクトリに作成されます
次のコマンドは、mysession という名前のセッションのコンピューター上の上記の Winsock トレースを停止します。
logman stop -ets mywinsockcatalogsession
バイナリ ログ ファイルは、–o パラメーターで指定された場所に書き込まれます。 バイナリ ファイルを読み取り可能なテキスト ファイルに変換するには、 tracerpt.exe を使用します。
<.etl ファイル>のtracerpt.exe名 –o winsockcatalogtracelog.txt
プレーン テキストではなく xml を含む出力ファイルを使用する場合は、次のコマンドが使用されます。
<.etl ファイル>のtracerpt.exe名 –o winsockcatalogtracelog.xml –of xml
イベント ビューアーを使用して Winsock ネットワーク イベント トレースを開始する
イベント ビューアーを開くと、左側のウィンドウにイベントの一覧が表示されます。 [アプリケーションとサービス ログ] を開き、ソースとして Microsoft\Windows\Winsock ネットワーク イベントに移動し、[運用] を選択します。
[操作] ウィンドウで [ログのプロパティ] を選択し、[ログ記録のチェックを有効にする] ボックスをチェックします。 ログ記録が有効になったら、必要に応じてログ ファイルのサイズを変更することもできます。
Winsock ネットワーク イベント トレースが有効になり、ログに記録されたイベントの一覧を更新するために必要な操作は [更新] アクションにヒットするだけです。 ログ記録を停止するには、同じラジオ ボタンをオフにします。
表示するイベントの数に応じて、ログ サイズを増やす必要がある場合があります。 Winsock トレースにイベント ビューアーを使用する場合の欠点の 1 つは、すべての文字列リソースが読み込まれないため、[説明] フィールドに表示されるメッセージ (イベントを選択した後) が読み取りにくくなることがあります (たとえば、16 進数として書式設定する必要がある引数は 10 進数で表示されます)。 ただし、イベントの説明で [ 詳細 ] タブを選択すると、生の XML ログ エントリが表示され、通常は引数を理解しやすくなります。
イベント ビューアーを使用して Winsock カタログ変更トレースを開始する
イベント ビューアーを開くと、左側のウィンドウにイベントの一覧が表示されます。 [アプリケーションとサービス ログ] を開き、ソースとして Microsoft\Windows\Winsock カタログの変更に移動し、[運用] を選択します。
[操作] ウィンドウで [ログのプロパティ] を選択し、[ログ記録のチェックを有効にする] ボックスをチェックします。 ログ記録が有効になったら、必要に応じてログ ファイルのサイズを変更することもできます。
Winsock カタログ変更トレースが有効になり、ログに記録されたイベントの一覧を更新するために必要な操作は[更新] アクションにヒットするだけです。 ログ記録を停止するには、同じラジオ ボタンをオフにします。
表示するイベントの数に応じて、ログ サイズを増やす必要がある場合があります。 Winsock トレースにイベント ビューアーを使用する場合の欠点の 1 つは、すべての文字列リソースが読み込まれないため、[説明] フィールドに表示されるメッセージ (イベントを選択した後) が読み取りにくくなることがあります (たとえば、16 進数として書式設定する必要がある引数は 10 進数で表示されます)。 ただし、イベントの説明で [ 詳細 ] タブを選択すると、生の XML ログ エントリが表示され、通常は引数を理解しやすくなります。
Winsock トレース ログの解釈
ログ内のすべての Winsock トレース イベントには、次の 2 種類の情報が含まれています。
- システム
- EventData
システム情報には、ログ レベル、ログ エントリが作成された時刻、イベントの種類を表すイベント ID、実行プロセス ID、実行スレッド ID、およびその他のシステム情報が含まれます。 Winsock トレースのログ レベル 4 は、情報イベントのログ記録を表します。 Winsock トレースのログ レベル 5 は、詳細なイベント ログを表します。
システム情報の実行プロセス ID とスレッド ID は、イベントが発生したときに実行されていたプロセスとスレッドを示します。 多くの場合、これは、ユーザー モード スレッドやアプリケーションのプロセスではなく、カーネルまたはワーカー スレッドとプロセスを表します。 したがって、このフィールドは通常あまり役に立ちません。
各 Winsock トレース イベントの種類には、ログに記録されたデータのシステム セクションに一意のイベント ID があります。 これらのイベント ID を簡単に使用して、特定の Winsock トレース イベントのログ ファイルをフィルター処理できます。
eventdata には、イベントの種類に固有の情報が含まれています。
eventdata 情報の Process パラメーターは、実際の PID ではなく、プロセスのカーネル EPROCESS 構造体アドレスです。 イベントをユーザー モードの PID と照合するには、任意のログ エントリから eventdata 情報から Process 値を取得し、前のログで[プロセス] 値を持つソケット作成イベントを探します。 一致が見つかったら、ソケット作成イベント データの最後のパラメーターは、ソケットを作成したユーザー モードのプロセス ID です。
eventdata 情報の Address パラメーターは、一部の Winsock トレース イベントで返されます。 Address パラメーターは IP アドレスを表しますが、tracerpt.exe ツールによって作成されたテキスト ファイル、または生のバイトまたは数値としてイベント ビューアーに表示されます。 IPv6 アドレスは 16 進数で表示されるため、理解しやすくなります。 IPv4 アドレスは、大きな 10 進数として表示されます。 開発者は、IPv4 アドレスの生バイトをより使い慣れた IPv4 ドット 10 進アドレス表記に手動で変換して、値をより適切に解釈できるようにする必要があります。
eventdata の Error パラメーターは、一部の Winsock トレース イベントで返されます。 Error パラメーターは、NTSTATUS または HRESULT エラー コードの形式です。 このエラー パラメーターは、tracerpt.exe ツールによって作成されたテキスト ファイルまたは 10 進数としてイベント ビューアーに表示されます。 開発者は、場合によってはエラー コードをより適切に解釈するために、10 進数を 16 進数に手動で変換する必要があります。
関連トピック