Compartilhar via


Controle do rastreamento de Winsock

O rastreamento Winsock pode ser controlado usando um dos métodos a seguir:

  • Ferramentas de linha de comando

    Duas ferramentas de linha de comando são incluídas com o Windows Vista e o Windows Server 2008 que são usados 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 Tracerpt

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 seguinte comando interrompe o rastreamento do 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 formato xml

O rastreamento de alterações do catálogo winsock é habilitado por padrão no Windows Vista e posterior.

Nota

Os provedores de serviços em camadas (LSPs) foram preteridos. Começando com o Windows 8 e o 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 seguinte comando interrompe o rastreamento do 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 –of xml

Usando o Visualizador de Eventos para iniciar o rastreamento de eventos da rede Winsock

Quando você abre o 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 Network Event como a origem e selecione Operacional.

No painel Ação, selecione Propriedades do Log e marque a caixa de seleção Habilitar Registro em Log. Depois que o registro em log estiver habilitado, você também poderá alterar o tamanho do arquivo de log se isso for 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 rastreamento do Visualizador de Eventos para Winsock é que ele não carrega todos os recursos de caracteres de texto, de modo que as mensagens exibidas no campo Descrição (depois que você seleciona um evento) ocasionalmente ficam difíceis de ler (um argumento que deveria ser formatado como hexadecimal será exibido em decimal, por exemplo). No entanto, você pode selecionar a guia Detalhes na descrição do evento, que exibe a entrada de log XML bruta, onde geralmente os argumentos são mais fáceis de entender.

Usando o Visualizador de Eventos para iniciar o rastreamento de alteração do Catálogo Winsock

Quando você abre o 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 marque a caixa de seleção Habilitar Registro em Log. Depois que o registro em log estiver habilitado, você também poderá alterar o tamanho do arquivo de log se isso for necessário.

O rastreamento de alterações do catálogo 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 do Winsock é que ele não carrega todos os recursos de texto. Como resultado, as mensagens exibidas no campo Descrição, após a seleção de um evento, podem às vezes ser difíceis de ler. Por exemplo, um argumento que deveria ser formatado em hexadecimal será mostrado em decimal. No entanto, você pode selecionar a guia Detalhes na descrição do evento, que mostra a entrada de log XML bruta, geralmente contendo argumentos mais fáceis de entender.

Interpretando registros de rastreamento do Winsock

Todos os eventos de rastreamento do Winsock em um log contêm dois tipos de informações:

  • Sistema
  • Dados de Evento

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 4 no rastreamento do Winsock representa o registro de eventos informativos. Um nível de log 5 no rastreamento do Winsock representa o registro 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 em execução quando o evento ocorreu. Em muitos casos, isso representará um processo e thread de trabalho ou kernel, não um thread de modo de usuário ou o processo do aplicativo. Portanto, esse campo normalmente não é muito útil.

Cada tipo de evento de rastreamento Winsock tem um identificador de evento exclusivo 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 do 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 fazer a correspondência de um evento com a PID do modo de usuário, extraia o valor do Processo das informações de eventdata de qualquer entrada de log e procure nos registros anteriores um evento de criação de soquete com o valor do Processo. Depois que uma correspondência é encontrada, o último parâmetro nos dados de evento de criação do soquete é a ID do processo do modo de usuário que criou o soquete.

Um parâmetro Address nas informações de eventdata é retornado em alguns eventos de rastreamento do Winsock. Um parâmetro Address representa um endereço IP, mas é exibido no arquivo de texto criado pela ferramenta tracerpt.exe ou no 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 pontilhada IPv4 mais familiar para poder interpretar melhor o valor.

Um parâmetro Error em eventdata é retornado em alguns eventos de rastreamento do 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 no Visualizador de Eventos como um número decimal. Os desenvolvedores precisarão converter manualmente o número decimal em um número hex para interpretar melhor o código de erro em alguns casos.

Rastreamento do Winsock

Detalhes de rastreamento de alteração do catálogo do Winsock

Detalhes do rastreamento de eventos de rede do Winsock

Níveis de rastreamento do Winsock