Управление трассировкой Winsock

Трассировкой Winsock можно управлять с помощью любого из следующих методов:

  • Средства командной строки

    В Состав Windows Vista и Windows Server 2008 входят два средства командной строки, которые используются для управления трассировкой и преобразования двоичного файла журнала трассировки в читаемый текст.

    Средство logman.exe используется для запуска или остановки трассировки Winsock.

    Инструмент tracerpt.exe используется для преобразования двоичного файла журнала трассировки в удобочитаемый текстовый файл.

  • Средство просмотра событий

    Просмотр событий в Windows Vista и более поздних версиях также можно использовать для включения трассировки Winsock. Просмотр событий доступен в разделе Администрирование в меню Пуск.

Использование logman и tracert

Трассировка сетевых событий Winsock по умолчанию отключена в Windows Vista и более поздних версиях.

Следующая команда запускает трассировку сетевых событий Winsock на компьютере, задает имя сеанса трассировки событий mywinsocksession и отправляет выходные данные в двоичный файл журнала с именем winsocklogfile.etl:

logman start -ets mywinsocksession -o winsocklogfile.etl -p Microsoft-Windows-Winsock-AFD

Файлы журнала создаются в текущем каталоге с именами файлов формы winsocklogfile_000001.etl

Следующая команда останавливает указанную выше трассировку Winsock на компьютере для сеанса mywinsocksession:

logman stop -ets mywinsocksession

Двоичный файл журнала будет записан в расположение, указанное параметром –o. Для преобразования двоичного файла в текстовый файл, доступный для чтения, используется tracerpt.exe :

<tracerpt.exe имя ETL-файла> –o winsocktracelog.txt

Если предпочтительнее использовать выходной файл, содержащий xml, а не обычный текст, используется следующая команда:

<tracerpt.exe имя ETL-файла> –o winsocktracelog.xml –of xml

Трассировка изменений каталога Winsock включена по умолчанию в Windows Vista и более поздних версиях.

Примечание

Многоуровневые поставщики служб являются устаревшими. Начиная с Windows 8 и Windows Server 2012, используйте платформу фильтрации Windows.

 

Следующая команда запускает трассировку изменений каталога Winsock для многоуровневых поставщиков служб (LSP) на компьютере, задает имя сеанса трассировки событий mywinsockcatalogsession и отправляет выходные данные в двоичный файл журнала с именем winsockcataloglogfile.etl:

logman start -ets mywinsockcatalogsession -o winsockcataloglogfile.etl -p Microsoft-Windows-Winsock-WS2HELP

Файлы журналов создаются в текущем каталоге с именами файлов формы winsockcataloglogfile_000001.etl

Следующая команда останавливает указанную выше трассировку Winsock на компьютере для сеанса mysession:

logman stop -ets mywinsockcatalogsession

Двоичный файл журнала будет записан в расположение, указанное параметром –o. Для преобразования двоичного файла в текстовый файл, доступный для чтения, используется tracerpt.exe :

<tracerpt.exe имя ETL-файла> –o winsockcatalogtracelog.txt

Если предпочтительнее использовать выходной файл, содержащий xml, а не обычный текст, используется следующая команда:

<tracerpt.exe имя ETL-файла> –o winsockcatalogtracelog.xml –of xml

Использование Просмотр событий для запуска трассировки сетевых событий Winsock

При открытии Просмотр событий в левой области отображается список событий. Откройте журналы приложений и служб , перейдите к сетевому событию Microsoft\Windows\Winsock в качестве источника и выберите Операционный.

В области Действия выберите Свойства журнала и проверка поле Включить ведение журнала проверка. После включения ведения журнала можно также изменить размер файла журнала, если это необходимо.

Трассировка сетевых событий Winsock теперь включена, и все, что вам нужно сделать, — это выполнить действие Обновить, чтобы обновить список зарегистрированных событий. Чтобы остановить ведение журнала, просто снимите флажок.

Возможно, потребуется увеличить размер журнала в зависимости от количества событий, которые требуется просмотреть. Одним из недостатков использования Просмотр событий для трассировки Winsock является то, что она не загружает все строковые ресурсы, поэтому сообщения, отображаемые в поле Описание (после выбора события), иногда трудно прочитать (аргумент, который должен быть отформатирован как шестнадцатеричный, будет отображаться в десятичном формате, например). Однако можно выбрать вкладку Сведения в описании события, где отображается необработанная запись журнала XML, которая обычно имеет более понятные аргументы.

Использование Просмотр событий для запуска трассировки изменений каталога Winsock

При открытии Просмотр событий в левой области отображается список событий. Откройте журналы приложений и служб , перейдите в раздел Microsoft\Windows\Winsock Catalog Change в качестве источника и выберите Пункт Рабочая.

В области Действия выберите Свойства журнала и проверка поле Включить ведение журнала проверка. После включения ведения журнала можно также изменить размер файла журнала, если это необходимо.

Трассировка изменений каталога Winsock теперь включена, и все, что вам нужно сделать, — это выполнить действие Обновить, чтобы обновить список зарегистрированных событий. Чтобы остановить ведение журнала, просто снимите флажок.

Возможно, потребуется увеличить размер журнала в зависимости от количества событий, которые требуется просмотреть. Одним из недостатков использования Просмотр событий для трассировки Winsock является то, что она не загружает все строковые ресурсы, поэтому сообщения, отображаемые в поле Описание (после выбора события), иногда трудно прочитать (аргумент, который должен быть отформатирован как шестнадцатеричный, будет отображаться в десятичном формате, например). Однако можно выбрать вкладку Сведения в описании события, где отображается необработанная запись журнала XML, которая обычно имеет более понятные аргументы.

Интерпретация журналов трассировки Winsock

Все события трассировки Winsock в журнале содержат два типа информации:

  • Система
  • EventData

Системные сведения содержат уровень ведения журнала, время создания записи журнала, идентификатор события, представляющий тип события, идентификатор процесса выполнения, идентификатор потока выполнения и другие системные сведения. Уровень журнала 4 в трассировке Winsock представляет собой ведение журнала информационных событий. Уровень журнала 5 в трассировке Winsock представляет собой подробное ведение журнала событий.

Идентификатор процесса выполнения и идентификатор потока в системных данных указывают процесс и поток, которые выполнялись при возникновении события. Во многих случаях это будет представлять поток и процесс ядра или рабочей роли, а не поток пользовательского режима и процесс приложения. Таким образом, это поле обычно не очень полезно.

Каждый тип событий трассировки Winsock имеет уникальный идентификатор события в системном разделе зарегистрированных данных. Эти идентификаторы событий можно легко использовать для фильтрации файла журнала по конкретным событиям трассировки Winsock.

Данные события содержат сведения, относящиеся к типу события.

Параметр Process в сведениях о eventdata является адресом структуры EPROCESS ядра для процесса, а не фактическим PID. Чтобы сопоставить событие с PID пользовательского режима, возьмите значение Process из сведений о событиях из любой записи журнала и просмотрите событие создания сокета ранее в журнале со значением Process. После обнаружения совпадения последним параметром в данных события создания сокета является идентификатор процесса в пользовательском режиме, который создал сокет.

Параметр Address в сведениях eventdata возвращается в некоторых событиях трассировки Winsock. Параметр Address представляет IP-адрес, но он отображается в текстовом файле, созданном средством tracerpt.exe, или в Просмотр событий в виде необработанных байтов или числа. Адреса IPv6 отображаются в шестнадцатеричном формате, поэтому их проще понять. Адреса IPv4 отображаются в виде большого десятичного числа. Чтобы лучше интерпретировать значение, разработчикам потребуется вручную преобразовать необработанные байты IPv4-адреса в более знакомую нотацию IPv4-десятичных адресов.

Параметр Error в eventdata возвращается в некоторых событиях трассировки Winsock. Параметр Error имеет вид кода ошибки NTSTATUS или HRESULT. Этот параметр ошибки отображается в текстовом файле, созданном средствомtracerpt.exe, или в Просмотр событий в виде десятичного числа. Разработчикам потребуется вручную преобразовать десятичное число в шестнадцатеричное число, чтобы в некоторых случаях лучше интерпретировать код ошибки.

Трассировка Winsock

Сведения о трассировке изменений в каталоге Winsock

Сведения о трассировке сетевых событий Winsock

Уровни трассировки Winsock