Traccia
La traccia usa Event Tracing for Windows (ETW). Per sfruttare i vantaggi degli strumenti di traccia disponibili con Windows Server 2008 R2, installare Microsoft Windows SDK.
Sono supportati tre livelli di traccia:
- Dettagliato (tutte le tracce disponibili).
- Informazioni (tracce informative).
- Errore (tracce di errore).
Vengono tracciati gli eventi seguenti:
- Eventuali errori (Level=Error, Level=Info o Level=Verbose).
- Immissione/uscita di un'API (Level=Info o Level=Verbose).
- Avvio e completamento di qualsiasi I/O (Level=Info o Level=Verbose)
- Messaggi SOAP scambiati (Level=Verbose, disponibile in Windows 2003 SP1 e versioni successive)
Generazione e visualizzazione di tracce WWSAPI
WWSAPI usa gli eventi basati sul manifesto in Windows Vista e versioni successive. Di conseguenza, l'esperienza di traccia presenta alcune differenze in base alla versione del sistema operativo. La generazione di tracce ETW può essere eseguita usando gli strumenti ETW predefiniti in tutte le piattaforme supportate. Tuttavia, la visualizzazione delle tracce ETW in un formato interessante richiede strumenti personalizzati in Windows XP SP2 e Windows 2003 SP1. Esistono diversi modi per raccogliere e visualizzare tracce di eventi WWSAPI ETW a seconda della versione del sistema operativo.
Abilitazione e visualizzazione di tracce WWSAPI in Visualizzatore eventi (funziona in Windows Vista e versioni successive)
- Eseguire eventvwr.msc dalla riga di comando o dal menu Esegui.
- Fare clic sul collegamento Visualizza nel riquadro Azioni a destra e abilitare l'opzione Mostra log analitici e di debug.
- Passare a Registri applicazioni e servizi\Microsoft\Windows\WebServices nel riquadro sinistro.
- Fare clic con il pulsante destro del mouse sul provider di traccia e selezionare Abilita log.
- Eseguire lo scenario.
- Quando si aggiorna la pagina del Visualizzatore eventi, è necessario iniziare a visualizzare le voci di traccia WWSAPI.
Abilitazione e visualizzazione di tracce WWSAPI con Wstrace.bat Script (funziona su XPSP2 e versioni successive)
Il file batch wstrace.bat offre un modo pratico per:
- Creare un log di traccia
- Eliminare un log di traccia
- Abilitare e disabilitare la traccia
- Aggiornare il livello di traccia (info/error/verbose)
- Conversione dei log di traccia in file CSV
Il file batch usa logman.exe per tutti i comandi, ad eccezione della conversione dei log in file CSV, che richiede uno strumento personalizzato (wstracedump.exe).
Uso dei comandi di traccia
Il comando seguente crea un log che usa informazioni, errori o livello dettagliato. Questo comando richiede privilegi elevati.
wstrace.bat creare [info | errore | dettagliato]
Il comando seguente elimina il log. Questo comando richiede privilegi elevati.
wstrace.bat eliminare
Il comando seguente abilita la traccia. È prima necessario creare un log.
wstrace.bat su
Il livello di traccia (info, errore o dettagliato) può essere modificato nel modo seguente:
aggiornamento wstrace.bat [info | errore | dettagliato]
Per eseguire il dump dell'output di traccia, usare il comando seguente:
wstrace.bat temp.csv dump >
Gli eventi verranno scaricati nel file CSV finché ctrl-C non viene premuto o la traccia non viene disabilitata.
Formato file di traccia
I file CSV creati da wstrace.bat sono semplici file di testo con valori delimitati da virgole. Questi file possono essere aperti in Excel, Blocco note e così via.
Le colonne del file sono le seguenti:
- TimeStamp - Timestamp di quando è stato registrato l'evento
- ProcessID - ID ULONG del processo che registra l'evento
- ThreadID - ID ULONG del thread che registra l'evento
- Evento : il valore enumerato del tipo di evento può essere ("api enter" | "api in sospeso" | "api ExitSyncSuccess" | "api ExitSyncFailure" | "api ExitAsyncSuccess" | "api ExitAsyncFailure" | "io started" | "io completed" | "io failed" | "error" | "received message start" | "messaggio ricevuto" | "received message stop" | "avvio del messaggio di invio" | "invio di messaggi" | "invio di messaggi interrotti")
- Operation : nome dell'operazione richiamata. In genere viene eseguito il mapping all'API chiamata.
- Errore - Numero di errore HRESULT facoltativo
- Info - Informazioni facoltative sull'evento
Raccolta di file di traccia ETW WWSAPI con strumenti ETW (funziona su XPSP2 e versioni successive)
Abilitazione della traccia ETW per WWSAPI
logman start wstrace -bs 64 -ft 1 -rt -p Microsoft-Windows-WebServices [flags [level]] [-o <EtlLogFileName>] -ets
per creare e avviare la sessione di traccia ETW. Logman.exe è uno strumento ETW integrato disponibile in tutte le piattaforme supportate. Si noti che è necessario usare Microsoft_Windows_WebServices come nome del provider in XPSP2 e W2K3. È possibile eseguire provider di query logman per visualizzare l'elenco dei provider registrati. Il provider Microsoft-Windows-WebServices (o Microsoft_Windows_WebServices) deve essere elencato a meno che non sia registrato. Il provider viene normalmente registrato durante l'installazione. Tuttavia, può anche essere registrato manualmente eseguendo wevtutil.exe im <ManifestFileName> (in Windows Vista e versioni successive) o mofcomp.exe <MofFileName> (in XPSP2 e W2K3).
I flag possono essere usati per filtrare le tracce in base al tipo. Può trattarsi del valore OR dei tipi di traccia seguenti. Se non viene specificato, tutti i tipi di traccia sono abilitati.
- 0x1 - Tracce di ingresso/uscita dell'API.
- 0x2 - Tracce di errore.
- 0x4 - Tracce di I/O.
- 0x8 - Tracce di messaggi SOAP.
- 0x10 - Tracce di messaggi binari.
Il livello può essere usato per filtrare le tracce in base al relativo livello. Deve essere uno dei valori seguenti. Se non viene specificato, tutti i livelli di traccia sono abilitati.
- 0x1 - Tracce irreversibili.
- 0x2 - Tracce di errore.
- 0x3 - Tracce di avviso.
- 0x4 - Tracce informative.
- 0x5 - Tracce dettagliate.
EtlLogFileName è il percorso del file di registro eventi ETW da creare (usare l'estensione etl). Se non specificato, ETW sceglierà un nome casuale che può essere sottoposto a query in un secondo momento. Questo file non deve risiedere nella directory del profilo dell'utente. Il file di registro eventi ETW (file con estensione etl) è in formato binario. Può essere utilizzata dalle applicazioni ETW, ma non è in formato leggibile. Il passaggio successivo descrive come visualizzarne il contenuto.
Eseguire lo scenario
Raccolta del file di log eventi ETW.
logman stop wstrace -ets
per arrestare la sessione di traccia ETW. Si tratta di quando ETW interrompe la registrazione degli eventi. Il file di registro eventi ETW (specificato nel parametro EtlLogFileName) è pronto per l'utilizzo. Può essere visualizzato localmente (le istruzioni sono riportate di seguito) o inviate al gruppo di prodotti per l'indagine.
Esempio end-to-end con gli strumenti ETW:
logman start wstrace -bs 64 -ft 1 -rt -p Microsoft-Windows-WebServices -o mytrace.etl -ets
eco.. eseguire lo scenario.
logman stop wstrace -ets
tracerpt mytrace.etl -o mytrace.xml
wstrace.htm
eco.. usare mytrace.xml e wstrace.xsl nella pagina aperta.
Visualizzazione delle tracce dei file di traccia ETW WWSAPI con lo strumento wstracedump.exe (funziona in Windows XP e versioni successive)
Wstracedump.exe è uno strumento consumer ETW sviluppato personalizzato che elabora gli eventi nel file di traccia ETW WWSAPI e produce output leggibile. Può produrre output da tutte le piattaforme supportate. Per altre informazioni, vedere il relativo utilizzo (wstracedump.exe -?).
Visualizzazione delle tracce dei file di traccia ETW WWSAPI con gli strumenti ETW (funziona in Windows Vista e versioni successive)
Tracerpt.exe è lo strumento per visualizzare il contenuto di un file di registro eventi ETW e disponibile in tutte le piattaforme supportate. Può essere usato per generare file di dump CSV, EVTX o XML da un file di log eventi ETW. Tuttavia, il file di output generato include tracce leggibili solo in Windows Vista e versioni successive. Queste istruzioni descrivono come generare il file di dump XML e usarlo insieme a un file xsl per visualizzare le tracce in un formato piacevole (il file xsl è molto semplice e può essere modificato se si desiderano formati diversi).
Run
tracerpt <EtlLogFileName> -o <OutputXMLFileName>
per creare un dump XML dal file ETL binario (tracerpt.exe crea il file di output in formato XML per impostazione predefinita. Esegui traccia -? Per visualizzare altri formati disponibili.
A questo punto, è possibile visualizzare le informazioni di traccia nel file XML. Inoltre, è possibile aprire il file wstrace.htm e usare il file di dump xml e il file wstrace.xsl per visualizzare le tracce in un formato più bello. Si noti che i file devono trovarsi nel computer locale per poter usare questo file HTML in Internet Explorer.
Sicurezza
Quando si abilita la traccia, gli amministratori devono prendere in considerazione che consuma spazio su disco aggiuntivo e potenza di calcolo. Un client dannoso o un'applicazione può esaurire le risorse di sistema a meno che le impostazioni di traccia non siano configurate con limiti ragionevoli. Quando si usa la funzionalità di traccia dei messaggi, i messaggi che contengono informazioni riservate, ad esempio credenziali, informazioni personali e così via, possono essere mantenuti sul disco o visualizzati da chiunque abbia accesso al visualizzatore eventi di sistema. Come mitigazione di questo problema, la traccia può essere abilitata dagli utenti di sistema o amministratore in Windows 2003 e versioni successive. La traccia dei messaggi è disabilitata in Windows XP in cui qualsiasi utente può attivare la traccia.
L'enumerazione seguente viene usata con la traccia: