
Monitor de sistema y API de Windows sin controladores, autónomo, en Rust
Monitor de sistema y API de Windows de alto rendimiento y sin controladores, escrito en Rust.
Un strace moderno y un Process Monitor en tiempo real para Windows. Construido en Rust nativo sin necesidad de controladores del kernel, con una interfaz de usuario de terminal (TUI) en tiempo real y transmisión sin búfer para diagnósticos sin interfaz gráfica.
Los controladores del kernel de terceros (.sys) conllevan el riesgo de bloqueos del sistema (BSOD), amplían la superficie de ataque y requieren exenciones de firma de controladores prohibidas en entornos empresariales. wstrace se ejecuta 100 % en espacio de usuario utilizando API de depuración Win32 no invasivas e interfaces ETW nativas de Windows.
Las cuentas de usuario estándar pueden ejecutar y rastrear cualquier objetivo mediante wstrace run <binary>. Los procesos hijos generados heredan los identificadores de depuración (PROCESS_ALL_ACCESS) directamente sin solicitudes de UAC. La telemetría de módulos, hilos, sockets y E/S se basa completamente en API Win32 sin privilegios.
La elevación es un acelerador, no una puerta:
run, attach (sesión de usuario), procesos hijos (-C), TUI interactiva y transmisión.wstrace all) para monitorear servicios en segundo plano del sistema operativo y demonios del sistema.Ejecuta en PowerShell para instalar automáticamente la última versión en $HOME\.local\bin y añadirla a tu PATH de usuario:
irm https://raw.githubusercontent.com/gilnett/wstrace/main/packaging/install.ps1 | iex
Instalar mediante el bucket personal:
scoop bucket add gilnett https://github.com/gilnett/scoop-bucket
scoop install wstrace
O instalar directamente mediante URL:
scoop install https://raw.githubusercontent.com/gilnett/wstrace/main/packaging/scoop/wstrace.json
Descarga los binarios independientes precompilados desde GitHub Releases.
Instala directamente desde GitHub:
cargo install --git https://github.com/gilnett/wstrace.git
O compilar localmente desde un repositorio clonado:
cargo build --release
El binario resultante se encuentra en target\release\wstrace.exe.
[!NOTE] Los manifiestos de Winget y Scoop se sincronizan automáticamente con las GitHub Releases publicadas.
[!NOTE] El envío oficial del paquete está actualmente en proceso de revisión y verificación en microsoft/winget-pkgs. Una vez aprobado y fusionado por los moderadores de la comunidad, se podrá instalar directamente mediante:
winget install gilnett.wstrace
scoop install .\packaging\scoop\wstrace.json
Confirme que wstrace es accesible en la shell actual:
wstrace --version
Inicie un ejecutable objetivo con telemetría Win32 y del sistema en tiempo real:
wstrace run <executable_path> [-- <arguments>...]
| Tecla | Acción | Descripción |
|---|---|---|
Ctrl+C | Copiar seleccionado | Copia los detalles del evento resaltado en el portapapeles de Windows. |
Ctrl+A | Copiar todo | Copia todos los eventos filtrados actualmente en el portapapeles de Windows. |
Ctrl+E / Space | Pausar / Reanudar | Congela la vista de eventos sin descartar la telemetría entrante. |
Ctrl+X | Limpiar búfer | Vacía la lista de eventos actual del búfer de visualización. |
Tab | Ciclo de categorías | Filtra eventos: ALL -> FILE -> REG -> NET -> PROC. |
f | Solo fallos | Restringe la vista a las operaciones fallidas (p. ej., acceso denegado, no encontrado). |
Up / Down | Navegación | Selecciona un evento para una inspección detallada. |
q / Esc | Salir | Finaliza la sesión de rastreo de forma limpia. |
Supervisa en tiempo real los procesos activos, las nuevas creaciones, las salidas y los módulos cargados en todo el sistema:
wstrace all
Adjuntar a un proceso existente por PID o nombre del binario sin reiniciarlo:
# Attach by PID
wstrace attach -p <PID>
# Attach by process name
wstrace attach -n <process_name.exe>
Escribe eventos en vivo directamente en stdout con códigos de color ANSI:
wstrace -m stream [-d <seconds>] run <executable_path>
Manual completo y opciones avanzadas: Para el filtrado avanzado de rutas (
--include/--exclude), el seguimiento de procesos hijos (-C), los informes JSON (--export-json), las exportaciones al portapapeles (--copy) y las opciones de scripting, consulte el Manual de referencia de la CLI o ejecutewstrace --help.
packaging/install.ps1)ToolHelp32Snapshot, OpenProcess, VirtualQueryEx) y Event Tracing for Windows (ETW).x86_64-pc-windows-msvc (Intel / AMD de 64 bits)aarch64-pc-windows-msvc (Qualcomm Snapdragon X / Windows on ARM)wstrace está diseñado para cumplir con los estrictos requisitos institucionales de despliegue en entornos empresariales de alta seguridad (banca, defensa, sanidad e infraestructuras críticas):
wstrace es 100 % offline y autónomo. No mantiene ningún servidor remoto, no inicia telemetría ni analíticas y no realiza ninguna llamada de red saliente. Cualquier dato sensible observado durante el trazado en vivo (tokens de API, rutas de archivos, credenciales, contenido de memoria) permanece estrictamente confinado a la RAM local y nunca abandona la estación de trabajo.