
Monitor di sistema e API Windows standalone zero-driver in Rust
Monitor di sistema e API per Windows ad alte prestazioni e senza driver, scritto in Rust.
Un moderno strace e Process Monitor in tempo reale per Windows. Sviluppato in Rust nativo senza richiedere driver kernel, con un'interfaccia utente terminale (TUI) in tempo reale e streaming non bufferizzato per la diagnostica headless.
powershell -ExecutionPolicy Bypass -File .\packaging\install.ps1
Installa wstrace.exe in $HOME\.local\bin e registra la directory nella variabile d'ambiente PATH dell'utente.
winget install gilnett.wstrace
scoop install packaging/scoop/wstrace.json
cargo install --path .
Compila direttamente usando la toolchain Rust:
cargo build --release
L'eseguibile standalone risultante si trova in target\release\wstrace.exe.
Conferma che wstrace sia accessibile nella shell corrente:
wstrace --version
Avvia l'applicazione di destinazione con una tabella degli eventi in tempo reale:
wstrace run <executable_path> [-- <arguments>...]
| Tasto | Azione | Descrizione |
|---|---|---|
Ctrl+C | Copia selezionato | Copia i dettagli dell'evento evidenziato negli appunti di Windows. |
Ctrl+A | Copia tutto | Copia tutti gli eventi attualmente filtrati negli appunti di Windows. |
Ctrl+E / Space | Pausa / Riprendi | Congela la visualizzazione degli eventi senza perdere la telemetria in arrivo. |
Ctrl+X | Svuota buffer | Svuota l'elenco degli eventi corrente dal buffer di visualizzazione. |
Tab | Ciclo categorie | Filtra gli eventi: ALL -> FILE -> REG -> NET -> PROC. |
f | Solo errori | Limita la visualizzazione alle operazioni fallite (es. accesso negato, non trovato). |
Up / Down | Navigazione | Seleziona un evento per l'ispezione approfondita. |
q / Esc | Esci | Termina la sessione di tracciamento in modo pulito. |
Collegati a un processo esistente tramite Process Identifier (PID) o nome del binario senza riavviarlo:
# Attach by PID
wstrace attach -p <PID>
# Attach by process executable name
wstrace attach -n <process_name.exe>
-C / --children)Traccia il processo di destinazione e monitora ricorsivamente tutti i processi figli da esso generati:
wstrace -C run <executable_path> [-- <arguments>...]
--include e --exclude)Isola le operazioni rilevanti o sopprimi il rumore del sistema operativo:
# Include only operations matching a substring
wstrace --include "<substring>" run <executable_path>
# Exclude operations matching a substring
wstrace --exclude "<substring>" run <executable_path>
-m stream)Scrive gli eventi in tempo reale direttamente su stdout con codici colore ANSI per il logging o le pipeline CI/CD:
wstrace -m stream [-d <seconds>] run <executable_path>
--export-json)Esporta tutti gli eventi della sessione catturati in un file JSON formattato alla chiusura:
wstrace --export-json <output_file.json> run <executable_path>
--copy / --to-clipboard)Copia automaticamente tutti gli eventi della sessione catturati direttamente negli appunti di Windows all'uscita:
wstrace --copy run <executable_path>
packaging/install.ps1)ToolHelp32Snapshot, OpenProcess, VirtualQueryEx) ed Event Tracing for Windows (ETW).x86_64-pc-windows-msvc (Intel / AMD 64-bit)aarch64-pc-windows-msvc (Qualcomm Snapdragon X / Windows on ARM)wstrace è progettato per soddisfare i rigorosi requisiti istituzionali per la distribuzione in ambienti aziendali ad alta sicurezza (settore bancario, difesa, sanità e infrastrutture critiche):
wstrace è al 100% offline e standalone. Non mantiene alcun server remoto, non avvia alcuna telemetria o analisi e non effettua alcuna chiamata di rete in uscita. Qualsiasi dato sensibile osservato durante il tracciamento in tempo reale (token API, percorsi di file, credenziali, contenuti di memoria) rimane rigorosamente confinato nella RAM locale e non lascia mai la postazione di lavoro.
A differenza delle tradizionali utility di tracciamento che installano driver kernel .sys di terze parti—introducendo rischi di crash del sistema (Blue Screen of Death / BSOD) e superfici di attacco backdoor a livello ring-0—wstrace opera senza alcun driver kernel. Si basa esclusivamente su interfacce non invasive di debug Win32 in userland e sul consumer ETW nativo del kernel di Windows.
La telemetria di tracciamento è rigorosamente limitata dalla sessione utente di Windows e dai confini del Mandatory Integrity Control (MIC). Le sessioni utente non privilegiate non possono accedere o ispezionare processi con integrità superiore senza un'esplicita elevazione ad amministratore, nel pieno rispetto del principio del minimo privilegio.