
Rust製のスタンドアロン・ゼロドライバWindowsシステム&APIモニター
Rust製の高性能・ゼロドライバWindowsシステムおよびAPIモニター。
Windows向けのモダンなstraceおよびリアルタイムProcess Monitor。カーネルドライバを一切必要としないネイティブRustで構築され、リアルタイムのターミナルユーザーインターフェース(TUI)とヘッドレス診断用の非バッファリングストリーミングを備えています。
powershell -ExecutionPolicy Bypass -File .\packaging\install.ps1
wstrace.exeを$HOME\.local\binにインストールし、そのディレクトリをユーザーのPATH環境変数に登録します。
winget install gilnett.wstrace
scoop install packaging/scoop/wstrace.json
cargo install --path .
Rustツールチェーンを使用して直接コンパイルします:
cargo build --release
生成されるスタンドアロン実行ファイルはtarget\release\wstrace.exeにあります。
現在のシェルでwstraceが利用可能であることを確認します:
wstrace --version
リアルタイムイベントテーブルを表示して対象アプリケーションを起動します:
wstrace run <executable_path> [-- <arguments>...]
| キー | 操作 | 説明 |
|---|---|---|
Ctrl+C | 選択項目をコピー | ハイライトされたイベントの詳細をWindowsクリップボードにコピーします。 |
Ctrl+A | すべてコピー | 現在フィルタリングされているすべてのイベントをWindowsクリップボードにコピーします。 |
Ctrl+E / Space | 一時停止 / 再開 | 受信中のテレメトリを破棄せずにイベントビューを凍結します。 |
Ctrl+X | バッファをクリア | 表示バッファから現在のイベントリストを空にします。 |
Tab | カテゴリ切り替え | イベントをフィルタリングします:ALL -> FILE -> REG -> NET -> PROC。 |
f | 失敗のみ | 失敗した操作(アクセス拒否、見つからないなど)のみに表示を制限します。 |
Up / Down | ナビゲーション | 詳細検査のためにイベントを選択します。 |
q / Esc | 終了 | トレースセッションをクリーンに終了します。 |
再起動せずに、プロセス識別子(PID)またはバイナリ名で既存のプロセスにアタッチします:
# PIDでアタッチ
wstrace attach -p <PID>
# プロセスの実行ファイル名でアタッチ
wstrace attach -n <process_name.exe>
-C / --children)対象プロセスを追跡し、そこから生成されたすべての子プロセスを再帰的に監視します:
wstrace -C run <executable_path> [-- <arguments>...]
--includeと--exclude)関連する操作を分離したり、オペレーティングシステムのノイズを抑制したりします:
# 部分文字列に一致する操作のみを含める
wstrace --include "<substring>" run <executable_path>
# 部分文字列に一致する操作を除外する
wstrace --exclude "<substring>" run <executable_path>
-m stream)ログ記録やCI/CDパイプライン向けに、ANSIカラーコード付きでライブイベントをstdoutに直接書き込みます:
wstrace -m stream [-d <seconds>] run <executable_path>
--export-json)終了時に、キャプチャしたすべてのセッションイベントを整形されたJSONファイルにエクスポートします:
wstrace --export-json <output_file.json> run <executable_path>
--copy / --to-clipboard)終了時に、キャプチャしたすべてのセッションイベントをWindowsクリップボードに自動的にコピーします:
wstrace --copy run <executable_path>
packaging/install.ps1)ToolHelp32Snapshot、OpenProcess、VirtualQueryEx)およびEvent Tracing for Windows(ETW)。x86_64-pc-windows-msvc(Intel / AMD 64ビット)aarch64-pc-windows-msvc(Qualcomm Snapdragon X / Windows on ARM)wstraceは、高セキュリティのエンタープライズ環境(銀行、防衛、医療、重要インフラ)への展開に向けた厳格な組織要件を満たすように設計されています:
wstraceは100%オフラインかつスタンドアロンです。リモートサーバーを一切保持せず、テレメトリや分析を一切開始せず、外向きのネットワーク呼び出しを一切行いません。ライブトレース中に観測された機密データ(APIトークン、ファイルパス、認証情報、メモリ内容)は厳密にローカルRAM内に留まり、ワークステーションから外部に出ることはありません。
サードパーティ製の.sysカーネルドライバをインストールする従来のトレースユーティリティとは異なり—システムクラッシュのリスク(ブルースクリーン / BSOD)やring-0バックドアの攻撃面をもたらします—wstraceはカーネルドライバを一切使用せずに動作します。非侵襲的なユーザーランドWin32デバッグとネイティブWindowsカーネルETWコンシューマーインターフェースのみに依存しています。
トレーステレメトリは、WindowsユーザーセッションとMandatory Integrity Control(MIC)の境界によって厳密に制限されます。非特権ユーザーセッションは、明示的な管理者昇格なしに、より高い整合性レベルのプロセスにアクセスしたり検査したりすることはできず、最小権限の原則を厳格に遵守します。
wstraceはRustオープンソースエコシステムの上に構築されることを誇りに思い、以下の基盤ライブラリに感謝します:
完全なライセンス通知と条件については、THIRD_PARTY_LICENSES.mdを参照してください。
wstraceがWindowsエンジニアリング、セキュリティ監査、またはパフォーマンスデバッグに役立つと感じられた場合、GitHub SponsorsまたはKo-fiを通じて開発を支援することができます: