Управление трассировкой 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, или в Просмотр событий в виде десятичного числа. Разработчикам потребуется вручную преобразовать десятичное число в шестнадцатеричное число, чтобы в некоторых случаях лучше интерпретировать код ошибки.
Связанные темы