Control del seguimiento de Winsock
El seguimiento de Winsock se puede controlar mediante cualquiera de los métodos siguientes:
Herramientas de línea de comandos
Se incluyen dos herramientas de línea de comandos con Windows Vista y Windows Server 2008 que se usan para controlar el seguimiento y convertir el archivo de registro de seguimiento binario en texto legible.
La herramienta logman.exe se usa para iniciar o detener el seguimiento de Winsock.
La herramienta tracerpt.exe se usa para convertir el archivo de registro de seguimiento binario en un archivo de texto legible.
Visor de eventos
El Visor de eventos en Windows Vista y versiones posteriores también se puede usar para habilitar el seguimiento de Winsock. El Visor de eventos es accesible en herramientas administrativas desde el menú Inicio.
Uso de logman y tracert
El seguimiento de eventos de red winsock está deshabilitado de forma predeterminada en Windows Vista y versiones posteriores.
El siguiente comando inicia el seguimiento de eventos de red winsock en un equipo, establece el nombre de la sesión de seguimiento de eventos en mywinsocksession y envía la salida a un archivo de registro binario denominado winsocklogfile.etl:
logman start -ets mywinsocksession -o winsocklogfile.etl -p Microsoft-Windows-Winsock-AFD
Los archivos de registro se crean en el directorio actual con nombres de archivo con el formato winsocklogfile_000001.etl
El siguiente comando detiene el seguimiento de Winsock anterior en un equipo para la sesión denominada mywinsocksession:
logman stop -ets mywinsocksession
Un archivo de registro binario se escribirá en la ubicación especificada por el parámetro –o. Para traducir el archivo binario a un archivo de texto legible, se usatracerpt.exe :
<tracerpt.exe nombre del archivo> .etl –o winsocktracelog.txt
Si se prefiere un archivo de salida que contiene xml en lugar de texto sin formato, se usa el siguiente comando:
<tracerpt.exe nombre del archivo> .etl –o winsocktracelog.xml –of xml
El seguimiento de cambios del catálogo de Winsock está habilitado de forma predeterminada en Windows Vista y versiones posteriores.
Nota
Los proveedores de servicios en capas están en desuso. A partir de Windows 8 y Windows Server 2012, use la Plataforma de filtrado de Windows.
El siguiente comando inicia el seguimiento de cambios de catálogo de Winsock para proveedores de servicios en capas (LSP) en un equipo, establece el nombre de la sesión de seguimiento de eventos en mywinsockcatalogsession y envía la salida a un archivo de registro binario denominado winsockcataloglogfile.etl:
logman start -ets mywinsockcatalogsession -o winsockcataloglogfile.etl -p Microsoft-Windows-Winsock-WS2HELP
Los archivos de registro se crean en el directorio actual con nombres de archivo con el formato winsockcataloglogfile_000001.etl
El siguiente comando detiene el seguimiento de Winsock anterior en un equipo para la sesión denominada mysession:
logman stop -ets mywinsockcatalogsession
Un archivo de registro binario se escribirá en la ubicación especificada por el parámetro –o. Para traducir el archivo binario a un archivo de texto legible, se usatracerpt.exe :
<tracerpt.exe nombre del archivo> .etl –o winsockcatalogtracelog.txt
Si se prefiere un archivo de salida que contiene xml en lugar de texto sin formato, se usa el siguiente comando:
<tracerpt.exe nombre del archivo> .etl –o winsockcatalogtracelog.xml –of xml
Uso de Visor de eventos para iniciar el seguimiento de eventos de red winsock
Al abrir Visor de eventos, el panel izquierdo contiene la lista de eventos. Abra Registros de aplicaciones y servicios y vaya a Microsoft\Windows\Winsock Network Event como origen y seleccione Operativo.
En el panel Acción, seleccione Propiedades del registro y active la casilla Habilitar registro . Una vez habilitado el registro, también puede cambiar el tamaño del archivo de registro si es necesario.
El seguimiento de eventos de red de Winsock ahora está habilitado y todo lo que necesita hacer es alcanzar la acción Actualizar para actualizar la lista de eventos que se han registrado. Para detener el registro, simplemente desactive el mismo botón de radio.
Es posible que tenga que aumentar el tamaño del registro en función del número de eventos que desee ver. Una desventaja de usar el Visor de eventos para el seguimiento de Winsock es que no carga todos los recursos de cadena, por lo que los mensajes que se muestran en el campo Descripción (una vez que selecciona un evento) a veces son difíciles de leer (un argumento que debe tener formato hexadecimal se mostrará en decimal, por ejemplo). Sin embargo, puede seleccionar la pestaña Detalles en la descripción del evento que muestra la entrada de registro XML sin formato que normalmente tiene más fácil de entender los argumentos.
Uso de Visor de eventos para iniciar el seguimiento de cambios del catálogo winsock
Al abrir Visor de eventos, el panel izquierdo contiene la lista de eventos. Abra Registros de aplicaciones y servicios y vaya a Microsoft\Windows\Winsock Catalog Change como origen y seleccione Operativo.
En el panel Acción, seleccione Propiedades del registro y active la casilla Habilitar registro . Una vez habilitado el registro, también puede cambiar el tamaño del archivo de registro si es necesario.
El seguimiento de cambios del catálogo de Winsock ahora está habilitado y todo lo que necesita hacer es alcanzar la acción Actualizar para actualizar la lista de eventos que se han registrado. Para detener el registro, simplemente desactive el mismo botón de radio.
Es posible que tenga que aumentar el tamaño del registro en función del número de eventos que desee ver. Una desventaja de usar el Visor de eventos para el seguimiento de Winsock es que no carga todos los recursos de cadena, por lo que los mensajes que se muestran en el campo Descripción (una vez que selecciona un evento) a veces son difíciles de leer (un argumento que debe tener formato hexadecimal se mostrará en decimal, por ejemplo). Sin embargo, puede seleccionar la pestaña Detalles en la descripción del evento que muestra la entrada de registro XML sin formato que normalmente tiene más fácil de entender los argumentos.
Interpretación de los registros de seguimiento de Winsock
Todos los eventos de seguimiento de Winsock de un registro contienen dos tipos de información:
- Sistema
- EventData
La información del sistema contiene el nivel de registro, la hora en que se creó la entrada de registro, el identificador de evento que representa el tipo de evento, el identificador de proceso de ejecución, el identificador de subproceso de ejecución y otra información del sistema. Un nivel de registro de 4 en el seguimiento de Winsock representa el registro de eventos de información. Un nivel de registro de 5 en el seguimiento de Winsock representa el registro de eventos detallado.
El identificador del proceso de ejecución y el identificador del subproceso en la información del sistema indican el proceso y el subproceso que se estaba ejecutando cuando se produjo el evento. En muchos casos, esto representará un subproceso y proceso de trabajo o kernel, no un subproceso en modo de usuario ni el proceso de la aplicación. Por lo tanto, este campo normalmente no es muy útil.
Cada tipo de evento de seguimiento de Winsock tiene un identificador de evento único en la sección del sistema de los datos registrados. Estos identificadores de eventos se pueden usar fácilmente para filtrar un archivo de registro para eventos de seguimiento de Winsock específicos.
Eventdata contiene información específica del tipo de evento.
El parámetro Process de la información eventdata es la dirección de la estructura EPROCESS del kernel para el proceso, no el PID real. Para hacer coincidir un evento con el PID del modo de usuario, tome el valor Process de la información eventdata de cualquier entrada de registro y busque anteriormente en el registro un evento de creación de sockets con el valor Process. Una vez encontrada una coincidencia, el último parámetro de los datos del evento de creación de sockets es el identificador de proceso en modo de usuario que creó el socket.
Se devuelve un parámetro Address en la información de eventdata en algunos eventos de seguimiento de Winsock. Un parámetro Address representa una dirección IP, pero se muestra en el archivo de texto creado por la herramienta tracerpt.exe o en Visor de eventos como bytes sin formato o un número. Las direcciones IPv6 se muestran en formato hexadecimal, por lo que se entienden más fácilmente. Las direcciones IPv4 se muestran como un número decimal grande. Los desarrolladores deberán convertir manualmente los bytes sin procesar de una dirección IPv4 a la notación de direcciones decimales con puntos IPv4 más conocida para poder interpretar mejor el valor.
Se devuelve un parámetro Error en eventdata en algunos eventos de seguimiento de Winsock. Un parámetro Error tiene el formato de un código de error NTSTATUS o HRESULT. Este parámetro de error se muestra en el archivo de texto creado por la herramienta tracerpt.exe o en Visor de eventos como un número decimal. Los desarrolladores deberán convertir manualmente el número decimal en un número hexadecimal para interpretar mejor el código de error en algunos casos.
Temas relacionados