Поделиться через


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

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

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

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

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

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

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

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

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

Трассировка сетевых событий 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 xml

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

Заметка

Провайдеры многоуровневых услуг устаревшие. Начиная с Windows 8 и Windows Server 2012, используйте платформу фильтрации Windows.

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

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

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

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

logman остановите -ets mywinsockcatalogsession

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Система
  • EventData

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

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

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

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

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

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

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

Winsock-трассировка

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

Детали трассировки сетевых событий Winsock

уровни трассировки Winsock'а