Controllo del tracciamento Winsock
La traccia Winsock può essere controllata usando uno dei metodi seguenti:
Strumenti da riga di comando
Due strumenti da riga di comando sono inclusi in Windows Vista e Windows Server 2008 usati per controllare la traccia e convertire il file di log di traccia binario in testo leggibile.
Lo strumento logman.exe viene usato per avviare o arrestare il monitoraggio Winsock.
Lo strumento tracerpt.exe viene usato per convertire il file di log di traccia binaria in un file di testo leggibile.
Visualizzatore eventi
Il Visualizzatore eventi in Windows Vista e versioni successive può essere usato anche per abilitare il tracciamento di Winsock. Il Visualizzatore eventi è accessibile nel menu Strumenti di amministrazione.
Uso di logman e tracerpt
La traccia degli eventi di rete Winsock è disabilitata per impostazione predefinita in Windows Vista e versioni successive.
Il comando seguente avvia la traccia di eventi di rete Winsock in un computer, imposta il nome della sessione di traccia eventi su mywinsocksession e invia l'output a un file di log binario denominato winsocklogfile.etl:
logman start -ets mywinsocksession -o winsocklogfile.etl -p Microsoft-Windows-Winsock-AFD
I file di log vengono creati nella directory corrente con nomi file del modulo winsocklogfile_000001.etl
Il comando seguente arresta la traccia Winsock sopra menzionata in un computer per la sessione denominata mywinsocksession.
logman stop -ets mywinsocksession
Un file di log binario verrà scritto nel percorso specificato dal parametro –o. Per convertire il file binario in un file di testo leggibile, viene usato tracerpt.exe:
tracerpt.exe <nome del file .etl> –o winsocktracelog.txt
Se si preferisce un file di output contenente xml anziché testo normale, viene usato il comando seguente:
tracerpt.exe <nome del file .etl> –o winsocktracelog.xml –of xml
La traccia delle modifiche al catalogo Winsock è abilitata per impostazione predefinita in Windows Vista e versioni successive.
Nota
I provider di servizi a più livelli sono deprecati. A partire da Windows 8 e Windows Server 2012, usare Piattaforma di filtraggio di Windows.
Il comando seguente avvia la traccia delle modifiche del catalogo Winsock per i provider di servizi a più livelli (LSP) in un computer, imposta il nome della sessione di traccia eventi su mywinsockcatalogsession e invia l'output a un file di log binario denominato winsockcatalogloglogfile.etl:
logman start -ets mywinsockcatalogsession -o winsockcataloglogfile.etl -p Microsoft-Windows-Winsock-WS2HELP
I file di log vengono creati nella directory corrente con i nomi file del modulo winsockcataloglogfile_000001.etl
Il comando seguente arresta il tracciamento Winsock sopra in un computer per la sessione denominata mysession:
logman stop -ets mywinsockcatalogsession
Un file di log binario verrà scritto nel percorso specificato dal parametro –o. Per convertire il file binario in un file di testo leggibile, viene usato tracerpt.exe:
tracerpt.exe <nome del file .etl> –o winsockcatalogtracelog.txt
Se si preferisce un file di output contenente xml anziché testo normale, viene usato il comando seguente:
tracerpt.exe <nome del file con estensione etl> –o winsockcatalogtracelog.xml –of xml
Uso del Visualizzatore eventi per avviare il tracciamento degli eventi di rete Winsock
Quando si apre Visualizzatore eventi, il riquadro sinistro contiene l'elenco di eventi. Aprire Registri applicazioni e servizi e passare a Microsoft\Windows\Winsock evento di rete come sorgente e selezionare Operational.
Nel riquadro Azione selezionare Proprietà log e selezionare la casella di controllo Abilita registrazione. Dopo aver abilitato la registrazione, è anche possibile modificare le dimensioni del file di log, se necessario.
La traccia degli eventi di rete Winsock è ora abilitata e basta fare clic sull'azione Aggiorna per aggiornare l'elenco degli eventi registrati. Per interrompere la registrazione, deselezionare semplicemente lo stesso pulsante di opzione.
Potrebbe essere necessario aumentare le dimensioni del log a seconda del numero di eventi che si desidera visualizzare. Uno svantaggio dell'uso del Visualizzatore eventi per tracciare Winsock è che non carica tutte le risorse stringa, quindi i messaggi visualizzati nel campo Descrizione (una volta selezionato un evento) risultano talvolta difficili da leggere. Ad esempio, un argomento che dovrebbe essere formattato come esadecimale verrà visualizzato in decimale, ad esempio. Tuttavia, è possibile selezionare la scheda Dettagli nella descrizione dell'evento che mostra la voce di log XML non elaborata che solitamente contiene argomenti più facili da comprendere.
Uso di Visualizzatore Eventi per avviare la registrazione delle modifiche nel catalogo Winsock
Quando si apre Visualizzatore eventi, il riquadro sinistro contiene l'elenco di eventi. Aprire Log applicazioni e servizi e passare a Microsoft\Windows\Winsock Catalog Change come sorgente e selezionare Operational.
Nel riquadro Azione, selezionare Proprietà log e selezionare la casella di controllo Abilita registrazione. Dopo aver abilitato la registrazione, è anche possibile modificare le dimensioni del file di log, se necessario.
La traccia delle modifiche del catalogo Winsock è ora abilitata e basta fare clic sull'azione Aggiorna per aggiornare l'elenco di eventi registrati. Per interrompere la registrazione, è sufficiente deselezionare lo stesso pulsante di opzione.
Potrebbe essere necessario aumentare le dimensioni del log a seconda del numero di eventi che si desidera visualizzare. Uno svantaggio dell'uso del Visualizzatore eventi per la traccia di Winsock è che non carica tutte le risorse stringa, per cui i messaggi visualizzati nel campo Descrizione, una volta selezionato un evento, sono talvolta difficili da leggere. Ad esempio, un argomento che dovrebbe essere formattato come esadecimale verrà visualizzato in decimale. Tuttavia, è possibile selezionare la scheda dettagli nella descrizione dell'evento che mostra la voce del log XML grezza, che in genere offre argomenti più facili da comprendere.
Interpretazione dei log di traccia Winsock
Tutti gli eventi di traccia Winsock in un log contengono due tipi di informazioni:
- Sistema
- EventData
Le informazioni di sistema contengono il livello di registrazione, l'ora di creazione della voce di log, l'ID evento che rappresenta il tipo di evento, l'ID processo di esecuzione, l'ID thread di esecuzione e altre informazioni di sistema. Un livello di log pari a 4 nella traccia Winsock rappresenta la registrazione degli eventi informativi. Un livello di log pari a 5 nella traccia Winsock rappresenta la registrazione dettagliata degli eventi.
L'ID del processo di esecuzione e l'ID del thread nelle informazioni di sistema indicano il processo e il thread in esecuzione quando si è verificato l'evento. In molti casi, questo rappresenterà un kernel o un thread di lavoro e un processo, non un thread in modalità utente e o il processo dell'applicazione. Quindi questo campo non è in genere molto utile.
Ogni tipo di evento di traccia Winsock ha un ID evento univoco nella sezione di sistema dei dati registrati. Questi ID evento possono essere usati facilmente per filtrare un file di log per eventi di traccia Winsock specifici.
I dati dell'evento contengono informazioni specifiche del tipo di evento.
Il parametro Process nelle informazioni eventdata è l'indirizzo della struttura EPROCESS del kernel per il processo, non il PID effettivo. Per associare un evento al PID della modalità utente, prendere il valore Process dalle informazioni di eventdata da qualsiasi voce di log e cercare nel log a un momento precedente un evento di creazione di un socket con il valore Process. Dopo aver trovato una corrispondenza, l'ultimo parametro nei dati dell'evento di creazione del socket è l'ID del processo in modalità utente che ha creato il socket.
Un parametro Address nei dati evento viene restituito in alcuni eventi di tracciamento Winsock. Un parametro Address rappresenta un indirizzo IP, ma viene visualizzato nel file di testo creato dallo strumento tracerpt.exe o nel Visualizzatore eventi come byte non elaborati o un numero. Gli indirizzi IPv6 vengono visualizzati in formato esadecimale, quindi sono più facilmente comprensibili. Gli indirizzi IPv4 vengono visualizzati come numero decimale elevato. Gli sviluppatori dovranno convertire manualmente i byte non elaborati di un indirizzo IPv4 nella notazione dell'indirizzo IPv4 punteggiato-decimale più familiare per poter interpretare meglio il valore.
Un parametro Error nell'eventdata viene restituito in alcuni eventi di monitoraggio Winsock. Un parametro Error è sotto forma di codice di errore NTSTATUS o HRESULT. Questo parametro di errore viene visualizzato nel file di testo creato dallo strumento tracerpt.exe o nel Visualizzatore eventi come numero decimale. Gli sviluppatori dovranno convertire manualmente il numero decimale in un numero esadecimale per interpretare meglio il codice di errore in alcuni casi.