Partilhar via


Controlo do rastreio Winsock

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

  • Ferramentas de 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 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 pode ser acessado 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 formato winsocklogfile_000001.etl

O seguinte comando interrompe o rastreamento de Winsock acima num computador para a sessão denominada mywinsocksession:

logman parar -ets mywinsocksession

Um arquivo de log binário será gravado no local especificado pelo parâmetro –o. Para traduzir o arquivo binário em um arquivo de texto legível, tracerpt.exe é usado:

tracerpt.exe <nome do arquivo .etl> –o winsocktracelog.txt

Se for preferível um arquivo de saída contendo xml em vez de texto sem formatação, o seguinte comando será usado:

tracerpt.exe <nome do arquivo .etl> –o winsocktracelog.xml –of xml

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

Observação

Os Provedores de Serviços em Camadas estão descontinuados. A partir do Windows 8 e do Windows Server 2012, use Plataforma de Filtragem do Windows.

O comando seguinte inicia o rastreamento de Alteração do Catálogo Winsock para fornecedores de serviços em camadas (LSPs) num computador, define o nome da sessão de rastreamento de eventos como mywinsockcatalogsession e regista a saída num ficheiro 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 formato winsockcataloglogfile_000001.etl

O seguinte comando 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 traduzir o arquivo binário em um arquivo de texto legível, tracerpt.exe é usado:

tracerpt.exe <nome do arquivo .etl> –o winsockcatalogtracelog.txt

Se for preferível um arquivo de saída contendo xml em vez de texto sem formatação, 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 de rede Winsock

Quando você abre o Visualizador de Eventos, o painel esquerdo contém a lista de eventos. Abra Logs de Aplicações e Serviços e navegue até Microsoft\Windows\Winsock Network Event como a origem e selecione Operacional.

No painel Ação, selecione Propriedades de Log e marque a caixa de seleção Habilitar Registo. Depois que o registro 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 é pressionar a ação Atualizar para atualizar a lista de eventos que foram registrados. Para parar o registo, basta desmarcar a mesma 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, de modo que as mensagens exibidas no campo Descrição (depois de selecionar um evento) às vezes são difíceis de ler (um argumento que deve ser formatado como hexadecimal 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 argumentos mais fáceis de entender.

Usando o Visualizador de Eventos para iniciar o rastreamento de alterações do catálogo Winsock

Quando você abre o Visualizador de Eventos, o painel esquerdo contém a lista de eventos. Abra Logs de Aplicações e Serviços e navegue até Microsoft\Windows\Winsock Catalog Change como a origem e selecione Operacional.

No painel Ação, selecione Propriedades de Log e marque a caixa de seleção Habilitar Registo. Depois que o registro estiver habilitado, você também poderá alterar o tamanho do arquivo de log, se necessário.

O rastreamento de alterações do catálogo Winsock agora está habilitado e tudo o que você precisa fazer é pressionar a ação Atualizar para atualizar a lista de eventos que foram registrados. Para parar de registrar, basta desmarcar o mesmo botão de rádio.

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, de modo que as mensagens exibidas no campo Descrição (depois de selecionar um evento) às vezes são difíceis de ler (um argumento que deve ser formatado como hexadecimal 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 argumentos mais fáceis de entender.

Interpretando registos de rastreio de Winsock

Todos os eventos de rastreamento 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 de 4 no rastreamento Winsock representa o registo de eventos informativos. Um nível de log de 5 no rastreamento do Winsock representa o registro verboso de eventos.

O ID do processo de execução e o ID do thread nas informações do sistema indicam o processo e o thread que estava sendo executado quando o evento ocorreu. Em muitos casos, isso poderá representar um kernel, um thread de trabalho ou um processo, não um thread de modo de utilizador ou o processo da aplicação. Portanto, este 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, pegue o valor Process das informações de 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 nos dados do evento é devolvido 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 no Visualizador de Eventos como bytes brutos ou um número. Os endereços IPv6 são exibidos em hexadecimal, por isso são 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 pontilhado IPv4 mais familiar para serem mais capazes de interpretar o valor.

Um parâmetro de erro nos dados do evento é 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 hexadecimal para interpretar melhor o código de erro em alguns casos.

Winsock Rastreio

Detalhes da Rastreamento de Alterações do Catálogo Winsock

Detalhes do rastreamento de eventos da Rede Winsock

Níveis de rastreio de Winsock