windows系统自带netsh trace和pktmon两种内置抓包工具:前者适用于win8.1+,生成.etl文件,支持基础筛选;后者推荐用于win10 1809+/server 2019+,支持实时查看、丢包统计及导出为pcapng格式。

Windows 系统自带多个无需安装第三方软件即可捕获网络流量的工具,最常用且稳定的是 netsh trace 和 pktmon。两者均无需额外下载,直接在 PowerShell 或命令提示符中调用,适合快速诊断、权限受限环境或自动化脚本场景。
使用 netsh trace 抓包(适用于 Windows 8.1 及以上)
netsh trace 是较成熟的内置抓包命令,生成 .etl 格式文件,兼容性好,支持基础筛选和长时间捕获。
- 以管理员身份打开 PowerShell 或 CMD
- 启动抓包(示例:捕获所有 TCP/UDP 流量,保存到默认位置):
netsh trace start capture=yes tracefile=C:\temp\nettrace.etl - 如需限定协议或端口,可加参数,例如只捕获访问 443 端口的 HTTPS 流量:
netsh trace start protocol=TCP port=443 capture=yes tracefile=C:\temp\https.etl - 复现网络操作(如打开网页、调用 API)后,执行停止命令:
netsh trace stop - 生成的 .etl 文件可用 Wireshark(需安装 Npcap 后导入)、Microsoft Message Analyzer(已弃用但仍可打开)或 pktmon 转换分析
使用 pktmon 抓包(推荐用于 Windows 10 1809+ / Windows Server 2019+)
pktmon 功能更现代,支持实时流式查看、组件级筛选、丢包统计,且原生支持导出为文本或转换为 Wireshark 可读格式。
PyCharm 2026.2.0.1 Windows版提供 JetBrains 官方 2026.2.0.1 版本安装包,适合在Windows系统上进行 Python 项目开发、运行、调试和测试。
- 管理员权限运行 PowerShell
- 先添加筛选器(强烈建议,避免海量无关包):
pktmon filter add -i 192.168.1.100 -p 80(捕获与该 IP 和 80 端口相关的所有流量) - 启动捕获(记录到默认 ETL 文件):
pktmon start -c - 复现问题后停止:
pktmon stop - 将 ETL 转为易读文本便于初步排查:
pktmon etl2txt nettrace.etl > trace.txt - 如需 Wireshark 分析,可用 pktmon etl2pcapng(Windows 11 22H2+ 或 Win10 21H2+ 支持)生成 .pcapng 文件
补充:通过 Windows Admin Center 图形化操作 pktmon
若管理的是 Windows Server 或已部署 Windows Admin Center,可启用“数据包监视”扩展,实现可视化筛选、启动/停止、实时计数器查看,适合不熟悉命令行的系统管理员。
- 确保目标机器运行 Windows Server 2019 v1903 或更高版本
- 在 Windows Admin Center 中添加服务器连接,进入“数据包监视”扩展
- 界面引导分三步设置筛选器(按协议、IP、端口、网络组件等),确认后一键启动
- 捕获完成后可直接下载 .etl 文件,或在线查看简要会话摘要
注意事项与常见问题
所有内置工具都依赖管理员权限;普通用户运行会失败或仅捕获极少量 loopback 流量。抓包前请关闭不必要的后台应用(如自动更新、云同步),减少干扰。若需分析 HTTPS 明文内容、HTTP/2 或 TLS 握手细节,内置工具仅能捕获加密载荷,无法解密——此时必须配合 Fiddler(本地代理)或 Wireshark + 导入浏览器密钥。










