Controle do Rastreamento winsock
O rastreamento winsock pode ser controlado usando um dos seguintes métodos:
Ferramentas da linha de comando
Duas ferramentas de linha de comando estão incluídas no Windows Vista e no Windows Server 2008 que são usadas para controlar o rastreamento e converter o arquivo de log de rastreamento binário em texto legível.
A ferramenta logman.exe é usada para iniciar ou parar o rastreamento do Winsock.
A ferramenta tracerpt.exe é usada para converter o arquivo de log de rastreamento binário em um arquivo de texto legível.
Visualizador de Eventos
O Visualizador de Eventos no Windows Vista e posterior também pode ser usado para habilitar o rastreamento do Winsock. O Visualizador de Eventos está acessível nas Ferramentas Administrativas no menu Iniciar.
Usando logman e tracert
O rastreamento de eventos de rede winsock é desabilitado por padrão no Windows Vista e posterior.
O comando a seguir inicia o rastreamento de eventos de rede winsock em um computador, define o nome da sessão de rastreamento de eventos como mywinsocksession e envia a saída para um arquivo de log binário chamado winsocklogfile.etl:
logman start -ets mywinsocksession -o winsocklogfile.etl -p Microsoft-Windows-Winsock-AFD
Os arquivos de log são criados no diretório atual com nomes de arquivo do formulário winsocklogfile_000001.etl
O comando a seguir interrompe o rastreamento winsock acima em um computador para a sessão chamada mywinsocksession:
logman stop -ets mywinsocksession
Um arquivo de log binário será gravado no local especificado pelo parâmetro –o. Para converter o arquivo binário em um arquivo de texto legível, tracerpt.exe é usado:
<tracerpt.exe nome do arquivo> .etl –o winsocktracelog.txt
Se um arquivo de saída que contém xml em vez de texto sem formatação for preferencial, o seguinte comando será usado:
<tracerpt.exe nome do arquivo> .etl –o winsocktracelog.xml – de xml
O rastreamento de alterações do catálogo do Winsock está habilitado por padrão no Windows Vista e posterior.
Observação
Os provedores de serviços em camadas foram preteridos. Começando com Windows 8 e Windows Server 2012, use a Plataforma de Filtragem do Windows.
O comando a seguir inicia o rastreamento de alterações do catálogo winsock para LSPs (provedores de serviços em camadas) em um computador, define o nome da sessão de rastreamento de eventos como mywinsockcatalogsession e envia a saída para um arquivo de log binário chamado winsockcataloglogfile.etl:
logman start -ets mywinsockcatalogsession -o winsockcataloglogfile.etl -p Microsoft-Windows-Winsock-WS2HELP
Os arquivos de log são criados no diretório atual com nomes de arquivo do formulário winsockcataloglogfile_000001.etl
O comando a seguir interrompe o rastreamento winsock acima em um computador para a sessão chamada mysession:
logman stop -ets mywinsockcatalogsession
Um arquivo de log binário será gravado no local especificado pelo parâmetro –o. Para converter o arquivo binário em um arquivo de texto legível, tracerpt.exe é usado:
<tracerpt.exe nome do arquivo> .etl –o winsockcatalogtracelog.txt
Se um arquivo de saída que contém xml em vez de texto sem formatação for preferencial, o seguinte comando será usado:
<tracerpt.exe nome do arquivo> .etl –o winsockcatalogtracelog.xml – de xml
Usando Visualizador de Eventos para iniciar o rastreamento de eventos de rede winsock
Quando você abre Visualizador de Eventos, o painel esquerdo contém a lista de eventos. Abra os Logs de Aplicativos e Serviços e navegue até Microsoft\Windows\Winsock Network Event como a origem e selecione Operacional.
No painel Ação, selecione Propriedades do Log e marcar caixa Habilitar registro em log marcar. Depois que o registro em log estiver habilitado, você também poderá alterar o tamanho do arquivo de log, se necessário.
O rastreamento de eventos de rede winsock agora está habilitado e tudo o que você precisa fazer é acessar a ação Atualizar para atualizar a lista de eventos que foram registrados. Para interromper o registro em log, basta desmarcar o mesmo botão de opção.
Talvez seja necessário aumentar o tamanho do log dependendo de quantos eventos você deseja ver. Uma desvantagem de usar o Visualizador de Eventos para rastreamento winsock é que ele não carrega todos os recursos de cadeia de caracteres para que as mensagens exibidas no campo Descrição (uma vez que você selecione um evento) às vezes seja difícil de ler (um argumento que deve ser formatado como hex será exibido em decimal, por exemplo). No entanto, você pode selecionar a guia Detalhes na descrição do evento, que mostra a entrada de log XML bruta que geralmente tem mais facilidade para entender os argumentos.
Usando Visualizador de Eventos para iniciar o rastreamento de alteração do catálogo winsock
Quando você abre Visualizador de Eventos, o painel esquerdo contém a lista de eventos. Abra Logs de Aplicativos e Serviços e navegue até Microsoft\Windows\Winsock Catalog Change como a origem e selecione Operacional.
No painel Ação, selecione Propriedades do Log e marcar caixa Habilitar registro em log marcar. Depois que o registro em log estiver habilitado, você também poderá alterar o tamanho do arquivo de log, se necessário.
O rastreamento de alterações do catálogo do Winsock agora está habilitado e tudo o que você precisa fazer é acessar a ação Atualizar para atualizar a lista de eventos que foram registrados. Para interromper o registro em log, basta desmarcar o mesmo botão de opção.
Talvez seja necessário aumentar o tamanho do log dependendo de quantos eventos você deseja ver. Uma desvantagem de usar o Visualizador de Eventos para rastreamento winsock é que ele não carrega todos os recursos de cadeia de caracteres para que as mensagens exibidas no campo Descrição (uma vez que você selecione um evento) às vezes seja difícil de ler (um argumento que deve ser formatado como hex será exibido em decimal, por exemplo). No entanto, você pode selecionar a guia Detalhes na descrição do evento, que mostra a entrada de log XML bruta que geralmente tem mais facilidade para entender os argumentos.
Interpretando logs de rastreamento do Winsock
Todos os eventos de rastreamento winsock em um log contêm dois tipos de informações:
- Sistema
- EventData
As informações do sistema contêm o nível de log, a hora em que a entrada de log foi criada, a ID do evento que representa o tipo de evento, a ID do processo de execução, a ID do Thread de execução e outras informações do sistema. Um nível de log de 4 no rastreamento winsock representa o log de eventos de informações. Um nível de log de 5 no rastreamento winsock representa o log de eventos detalhado.
A ID do processo de execução e a ID do thread nas informações do sistema indicam o processo e o thread que estava em execução quando o evento ocorreu. Em muitos casos, isso representará um kernel ou um thread de trabalho e um processo, não um thread no modo de usuário e ou o processo do aplicativo. Portanto, esse campo normalmente não é muito útil.
Cada tipo de evento de rastreamento winsock tem uma ID de evento exclusiva na seção do sistema dos dados registrados. Essas IDs de evento podem ser facilmente usadas para filtrar um arquivo de log para eventos específicos de rastreamento winsock.
O eventdata contém informações específicas para o tipo de evento.
O parâmetro Process nas informações eventdata é o endereço da estrutura EPROCESS do kernel para o processo, não o PID real. Para corresponder um evento ao PID do modo de usuário, use o valor De processo das informações eventdata de qualquer entrada de log e procure anteriormente no log um evento de criação de soquete com o valor Process. Depois que uma correspondência é encontrada, o último parâmetro nos dados de evento de criação do soquete é a ID de processo do modo de usuário que criou o soquete.
Um parâmetro Address nas informações eventdata é retornado em alguns eventos de rastreamento winsock. Um parâmetro Address representa um endereço IP, mas é exibido no arquivo de texto criado pela ferramenta tracerpt.exe ou em Visualizador de Eventos como bytes brutos ou um número. Os endereços IPv6 são exibidos em hexadecimal, para que sejam mais facilmente compreendidos. Os endereços IPv4 são exibidos como um número decimal grande. Os desenvolvedores precisarão converter manualmente os bytes brutos de um endereço IPv4 para a notação de endereço decimal IPv4 mais familiar para poder interpretar melhor o valor.
Um parâmetro Error no eventdata é retornado em alguns eventos de rastreamento winsock. Um parâmetro Error é da forma de um código de erro NTSTATUS ou HRESULT. Esse parâmetro de erro é exibido no arquivo de texto criado pela ferramenta tracerpt.exe ou em Visualizador de Eventos como um número decimal. Os desenvolvedores precisarão converter manualmente o número decimal em um número hexadecimais para interpretar melhor o código de erro em alguns casos.
Tópicos relacionados