该 netsh trace 命令允许您捕获详细的网络流量和跟踪事件,为诊断和排除 Windows 系统上的网络问题提供有价值的数据。 它支持一系列用于过滤、导出和分析跟踪数据的选项。
Syntax
netsh trace [convert | correlate | diagnose | dump | export | help | merge | postreset | show | start | ?]
netsh trace convert [input=]tracefilename.etl [output=]filename [dump=]CSV|XML|EVTX|TXT|No [report=]yes|no
[overwrite=]yes|no [metadata=]yes|no [tmfpath=]pathname [manpath=]pathname
netsh trace correlate [input=]tracefilename.etl [output=]newtracefilename.etl [filter=]Activity_ID
[overwrite=]yes|no [retaincorrelationevents=]yes|no [retainpii=]yes|no
[retainglobalevents=]yes|no
netsh trace diagnose [scenario=]<scenarioname> [namedAttribute=]<attributeValue>
[saveSessionTrace=]<yes|no> [report=]<yes|no> [capture=]<yes|no>
netsh trace dump
netsh trace export [scenario=]<scenarioname> [file=]<filename>
netsh trace merge
netsh trace postreset
netsh trace show <capturefilterhelp>
<globalkeywordsandlevels>
<helperclass> [name=]<helperclassname>
<interfaces>
<provider> [name=]<providerIdOrName>
<providerfilerhelp>
<providers>
<scenario> [name=]<scenarioname>
<scenarios>
<status>
netsh trace start [sessionname]=<sessionname> [scenario=]<scenario1,scenario2> [globalKeywords=]keywords
[globalLevel=]level [[capture=]yes|no] [capturetype=]physical|vmswitch|both
[report=]yes|no|disabled [persistent=]yes|no [traceFile=]path\filename
[maxSize=]filemaxsize [fileMode=]single|circular|append [overwrite=]yes|no
[correlation=]yes|no|disabled [capturefilters] [provider=]providerIdOrName
[keywords=]keywordMaskOrSet [level=]level [bufferSize=]<bufferSize>
[provider=]provider2IdOrName [providerFilter=]yes|no [keywords=]keyword2MaskOrSet
[perfMerge=]yes|no [level=]level2 ...
Parameters
Note
某些命令和参数可能仅在不再受支持的早期版本的 Windows 和 Windows Server 中完全运行。
| Command | Description |
|---|---|
跟踪 convert |
将跟踪文件转换为 HTML 报告。 input:指定输入事件跟踪日志 (ETL) 文件。 output:设置输出文件名。 如果未指定,则默认为输入文件名。 dump:选择输出格式: TXT (默认)、CSV、、 XMLEVTX或No(无转储)。 report:如果设置为 yes,则生成 HTML 报告。 默认值为 no。 overwrite:如果设置为 yes,则覆盖现有文件。 默认值为 no。 metadata:如果设置为 yes,则在输出中包括元数据跟踪。 默认值为 no。 tmfpath:提供跟踪消息格式 (TMF) 文件的路径,用于解码 Windows 软件跟踪预处理器 (WPP) 跟踪。 manpath:提供清单文件的路径,用于解码 Windows 事件跟踪 (ETW) 跟踪。 |
跟踪 correlate |
规范化或过滤跟踪文件,生成新的输出文件。 可以按活动 ID (格式 {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}中的 GUID) 进行筛选,以仅包含相关事件。 该命令还可以保留关联事件、个人数据(如数据包捕获事件)和全局事件。 input:指定输入的 ETL 跟踪文件。 output:设置输出文件名和路径。 filter:仅输出与指定活动 GUID 相关的事件。 默认值为无。 overwrite:如果设置为 yes,则覆盖现有文件。 默认值为 no。 retaincorrelationevents:如果设置为 yes,则保留相关事件。 默认值为 no。 retainpii:如果设置为 yes (默认),则保留包含个人数据的事件。 retainglobalevents:如果设置为 yes (默认值),则保留全局事件。 |
跟踪 diagnose |
启动诊断会话。 scenario:指定诊断方案名称(例如, InternetClient)。 namedAttribute:提供方案的其他详细信息或选项,具体取决于所选方案。 saveSessionTrace:如果设置为 yes,则保存会话中的跟踪数据以供以后分析。 如果 ,则 no不会保存跟踪。 此选项默认为 yes if report=yes。 report:如果设置为 yes,则在运行方案后生成诊断报告。 如果(默认),则 no 不创建任何报告。 capture:如果设置为 yes,则在诊断期间捕获网络流量。 如果(默认),则 no 不会捕获流量。 |
跟踪 dump |
创建包含当前上下文配置的脚本。 该脚本可以保存到文件中,并在设置被更改或需要在另一个系统上复制时用于恢复设置。 |
跟踪 export |
将方案导出到 Windows 性能记录器 (WPR) 配置文件。 scenario:指定要导出的跟踪方案的名称。 file:设置导出的 WPR 配置文件的输出文件名和路径。 |
跟踪 merge |
将多个跟踪文件合并为一个,并使用符号和 PerfTrack 元数据丰富输出,以改进分析。 |
跟踪 postreset |
在网络堆栈重置后将全局跟踪设置恢复为默认值。 |
跟踪 show |
显示以下参数的信息: capturefilterhelp:列出所有受支持的捕获筛选器并提供使用示例。 globalkeywordsandlevels:显示可用的全局关键字和用于配置的跟踪级别。 helperclass:提供有关跟踪中使用的帮助程序类的信息。 interfaces:列出所有可用于跟踪的网络接口。 provider:显示有关特定跟踪提供程序的详细信息。 providerfilterhelp:列出支持的提供程序筛选器并说明其用法。 providers:显示系统上可用的所有跟踪提供程序。 scenario:显示有关特定跟踪方案的详细信息。 scenarios:列出所有可用的跟踪方案。 status:显示当前跟踪配置和会话状态。 |
跟踪 start |
启动跟踪会话。 sessionname:指定跟踪会话的名称。 scenario:指定预定义方案(LAN、 InternetClient等) globalKeywords:使用 ETW 关键字筛选所有提供程序的事件。 globalLevel:设置全局事件的详细程度: - 1 (严重):仅关键事件。 - 2 (错误):严重事件和错误事件。 - 3 (警告):严重、错误和警告事件。 - 4 (信息性):添加信息性事件。 - 5 (详细):捕获所有事件,包括详细的调试信息。 capture:是否捕获网络数据包(yes 或 no)。 capturetype:指定数据包捕获类型(physical、 vmswitch或 both)。 report:跟踪后生成 HTML 报告 (yes 、 no或 disabled)。 persistent:在系统重新启动yes 后保持会话运行( 或 no)。 traceFile:跟踪输出的完整路径和文件名。 maxSize:跟踪文件的最大大小(以兆字节为单位)。 fileMode:指定文件写入方式的方法: - single:所有数据都写入一个文件,最大为指定的文件大小(以兆字节为单位)。 - circular:当文件达到最大大小时覆盖最旧的数据(充当环形缓冲区)。 - append:将新的跟踪数据添加到现有文件的末尾。 overwrite:覆盖现有跟踪文件(yes 或 no)。 correlation:启用事件 (yes、 no或 disabled) 的关联。 capturefilters:过滤捕获的数据包(IP、TCP 端口等)。 provider:按 GUID 或名称指定 ETW 提供程序。 keywords:特定 于提供商的关键字筛选。 level:特定 于提供程序的详细程度。 bufferSize:跟踪缓冲区的大小(以兆字节为单位)。 providerFilter:启用特定 于提供程序的筛选(yes 或 no)。 perfMerge:合并性能数据(yes 或 no)。 某些参数是特定于方案的,如果不相关,可能会被忽略。 如果省略,则使用默认值。 使用 capture=yes 可以快速生成大文件。
fileMode=circular 当达到最大大小时覆盖旧数据。 |
help或? |
显示当前上下文中的命令及其描述的列表。 |
Examples
要将 ETL 日志文件转换为 XML,请运行以下命令:
netsh trace convert input="C:\Logs\mytrace.etl" output="C:\Logs\mytrace.xml"
若要分析多个 ETL 文件之间的数据并将其关联到单个相关文件中,请运行以下命令:
netsh trace correlate input="C:\Logs\trace1.etl,C:\Logs\trace2.etl" output="C:\Logs\correlated_trace.etl"
要将 ETL 导出到文本文件 (),.txt请运行以下命令:
netsh trace export input="C:\Logs\mytrace.etl" output="C:\Logs\mytrace.txt"
要将多个 ETL 文件合并到单个跟踪文件中,请运行以下命令:
netsh trace merge input="C:\Logs\trace1.etl,C:\Logs\trace2.etl" output="C:\Logs\merged_trace.etl"
要列出所有可用于跟踪的网络接口,请运行以下命令:
netsh trace show interfaces
若要启动新的跟踪会话并将日志保存到特定文件路径,请运行以下命令:**
netsh trace start capture=yes tracefile="C:\Logs\networktrace.etl"